LCOV - code coverage report
Current view: top level - util/cgm - CubitUtil.hpp (source / functions) Hit Total Coverage
Test: coverage_sk.info Lines: 6 9 66.7 %
Date: 2020-06-30 00:58:45 Functions: 1 3 33.3 %
Branches: 5 14 35.7 %

           Branch data     Line data    Source code
       1                 :            : //-------------------------------------------------------------------------
       2                 :            : // Filename      : CubitUtil.hpp
       3                 :            : //
       4                 :            : // Purpose       : This file contains utility functions that can be used
       5                 :            : //                 throughout Cubit.
       6                 :            : //
       7                 :            : // Special Notes : This is a pure virtual class, to prevent instantiation.
       8                 :            : //                 All functions are static, called like this:
       9                 :            : //                 CubitUtil::function_name();
      10                 :            : //
      11                 :            : // Creator       : Darryl Melander
      12                 :            : //
      13                 :            : // Date          : 06/08/98
      14                 :            : //
      15                 :            : // Owner         : Darryl Melander
      16                 :            : //-------------------------------------------------------------------------
      17                 :            : 
      18                 :            : 
      19                 :            : #ifndef CUBIT_UTIL_HPP
      20                 :            : #define CUBIT_UTIL_HPP
      21                 :            : 
      22                 :            : #include <cstring>
      23                 :            : #include "DLIList.hpp"
      24                 :            : #include "CubitDefines.h"
      25                 :            : #include "CGMUtilConfigure.h"
      26                 :            : #include "CubitString.hpp"
      27                 :            : 
      28                 :            : class CubitEntity;
      29                 :            : 
      30                 :            : class CUBIT_UTIL_EXPORT CubitUtil
      31                 :            : {
      32                 :            : public:
      33                 :            :   
      34                 :            :   static void set_digits(int new_digits);
      35                 :            :   static int get_digits();
      36                 :            : 
      37                 :            :    static void convert_string_to_lowercase (char *string);
      38                 :            :    static int  strcmp_case_insensitive     (const char *s1, const char *s2);
      39                 :            :    static int  strncmp_case_insensitive    (const char *s1, const char *s2,
      40                 :            :                                             int n);
      41                 :            : 
      42                 :            :   static void list_ids( const char *const heading,
      43                 :            :                   const DLIList<CubitEntity*> &entity_list,
      44                 :            :                   int should_sort = CUBIT_FALSE,
      45                 :            :                   int report_once = CUBIT_FALSE,
      46                 :            :                   int wrap = 80 );
      47                 :            : 
      48                 :            :   static void sort_and_print_ids( const char *const heading,
      49                 :            :                            DLIList<int> &id_list,
      50                 :            :                            int should_sort = CUBIT_FALSE,
      51                 :            :                            int report_once = CUBIT_FALSE,
      52                 :            :                            int wrap = 80);
      53                 :            : 
      54                 :            : 
      55                 :            : 
      56                 :            :   static void list_entity_ids( const char *pre_string, 
      57                 :            :                                const DLIList<CubitEntity*> &entity_list, 
      58                 :            :                                int width = 80, const char *post_string = "\n",
      59                 :            :                                int sort = CUBIT_TRUE, int unique = CUBIT_TRUE,
      60                 :            :                                int tab = 3, const char *sep_string = ",",
      61                 :            :                                const char *post_string_none = "none\n");
      62                 :            :   
      63                 :            :   static void list_entity_ids( const char *pre_string, 
      64                 :            :                                DLIList<int> &id_list,
      65                 :            :                                int width = 80, 
      66                 :            :                                const char *post_string = "\n",
      67                 :            :                                int sort = CUBIT_TRUE, int unique = CUBIT_TRUE,
      68                 :            :                                int tab_len = 3, const char *sep_string = ",",
      69                 :            :                                const char *post_string_none = "none\n");
      70                 :            :   
      71                 :            :   static CubitString get_entity_ids_str( const char *pre_string, DLIList<int> &int_list, 
      72                 :            :                                          int width = 80, const char *post_string = "\n",
      73                 :            :                                          int sort = CUBIT_TRUE, int unique = CUBIT_TRUE,
      74                 :            :                                          int left_tab = 3, const char *sep_string = ",",
      75                 :            :                                          const char *post_string_none = "none\n");
      76                 :            : 
      77                 :            :   static void process_entity_ids( int method,
      78                 :            :                                   CubitString &ret_str,
      79                 :            :                                   const char *pre_string, 
      80                 :            :                                   DLIList<int> &id_list,
      81                 :            :                                   int max_len, 
      82                 :            :                                   const char *post_string,
      83                 :            :                                   int sort, int unique,
      84                 :            :                                   int tab_len, const char *sep_string,
      85                 :            :                                   const char* post_string_none = "none\n");
      86                 :            :   
      87                 :            :   static int int_len( int num );
      88                 :            :     //- Finds the number of spaces required to print an integer number
      89                 :            : 
      90                 :            :   static void set_file_ptr( FILE* file_ptr );
      91                 :            :   static void reset_file_ptr();
      92                 :            :   static FILE* get_file_ptr();
      93                 :            :   //- Used to optionally have list_entity_ids or get_entity_ids_str output dumped
      94                 :            :   //- to a file as well.
      95                 :            : 
      96                 :          0 :   static CubitBoolean compare( const char* a, const char* b )
      97 [ #  # ][ #  # ]:          0 :     { return ( a != NULL && b != NULL && 0 == strcmp(a, b) ); }
                 [ #  # ]
      98                 :            : 
      99                 :            :   static CubitSense opposite_sense(CubitSense sense);
     100                 :            :     //- return the sense opposite from sense
     101                 :            : 
     102                 :            :   static CubitString get_temporary_filename();
     103                 :            :     //- function to get a temporary filename, the file is created empty before return
     104                 :            : 
     105                 :            :   static int string_length( const char* string, int tabsize = 8 );
     106                 :            :   static void print_columns( const std::vector<CubitString>& array,
     107                 :            :                              const CubitString& indent = CubitString());
     108                 :            : 
     109                 :            :     //does the same thing as strdup... strdup is not supported by some
     110                 :            :     // compilers
     111                 :            :   static char* util_strdup(const char *s1);
     112                 :            :     //a corresponding free for the above function... mainly calls free().
     113                 :          0 :   static void util_strdup_free(char* s1){free(s1);}
     114                 :            : 
     115                 :            :   static void cubit_sleep(int duration_in_seconds);
     116                 :            : 
     117                 :            :   static CubitBoolean file_exist(const char* buffer);
     118                 :            :   static CubitBoolean file_exist(const CubitString& buffer);
     119                 :            : 
     120                 :            :   // get an environment variable
     121                 :            :   static CubitString getenv(const CubitString& str);
     122                 :            :   static void setenv(const CubitString& var, const CubitString& value);
     123                 :            : 
     124                 :            :   static CubitString get_computer_name();
     125                 :            :   static CubitString get_os();
     126                 :            : 
     127                 :            :   static int num_cpu();
     128                 :            :   
     129                 :            : private:
     130                 :            :   CubitUtil(){}
     131                 :            : 
     132                 :            :   static FILE *fp;
     133                 :            : 
     134                 :            : };
     135                 :            : 
     136                 :            : inline void
     137                 :            : CubitUtil::set_file_ptr( FILE* file_ptr )
     138                 :            : {fp=file_ptr;}
     139                 :            : 
     140                 :            : inline void
     141                 :            : CubitUtil::reset_file_ptr()
     142                 :            : {fp=NULL;}
     143                 :            : 
     144                 :      19613 : inline CubitSense CubitUtil::opposite_sense( CubitSense sense )
     145                 :            : {
     146 [ +  + ][ -  + ]:      19613 :    assert( sense == CUBIT_UNKNOWN ||
     147                 :            :            sense == CUBIT_FORWARD ||
     148         [ +  - ]:      19613 :            sense == CUBIT_REVERSED );
     149         [ -  + ]:      19613 :    if ( sense == CUBIT_UNKNOWN ) return CUBIT_UNKNOWN;
     150                 :            :    else {
     151                 :      19613 :       CubitSense opp_sense = (CubitSense) (1 - sense);
     152                 :      19613 :       return opp_sense;
     153                 :            :    }
     154                 :            : }
     155                 :            : 
     156                 :            : inline FILE*
     157                 :            : CubitUtil::get_file_ptr()
     158                 :            : {return fp;}
     159                 :            : #endif
     160                 :            : 

Generated by: LCOV version 1.11