9 #ifndef _snl_fei_Utils_hpp_
10 #define _snl_fei_Utils_hpp_
12 #include <fei_fwd.hpp>
14 #include <fei_SharedPtr.hpp>
41 const char* getParam(
const char* key,
43 const char*
const* paramStrings);
61 const char* getParamValue(
const char* key,
63 const char*
const* paramStrings,
79 const char* getParamValue(
const char* key,
80 std::vector<std::string>& params,
101 const char* getParamValue(
const char* key,
103 const char*
const* paramStrings,
109 int getIntParamValue(
const char* key,
111 const char*
const* params,
117 int getDoubleParamValue(
const char* key,
119 const char*
const* params,
125 int getDoubleParamValue(
const char* key,
126 std::vector<std::string>& params,
147 const char* getParam(
const char* key,
149 const char*
const* paramStrings,
169 const char* getParam(
const char* key,
170 std::vector<std::string>& paramStrings,
174 int storeNamedAttribute(
const char* name,
176 std::vector<char*>& attributeNames,
177 std::vector<void*>& attributes);
180 void* retrieveNamedAttribute(
const char* name,
181 std::vector<char*>& attributeNames,
182 std::vector<void*>& attributes);
185 void separate_string(
const char* input_string,
186 const char* substring,
187 const char*& before_substring,
188 int& len_before_substring,
189 const char*& after_substring,
190 int& len_after_substring);
195 unsigned leading_substring_length(
const char*
string);
208 const char* skipSeparator(
const char* paramString,
214 int mergeStringLists(
char**& strings,
int& numStrings,
215 const char*
const* stringsToMerge,
int numStringsToMerge);
222 const std::vector<int>& bcEqnNumbers);
238 void copy2DBlockDiagToColumnContig(
int numBlocks,
239 const int* blockSizes,
240 const double*
const* values2d,
242 double* colcontigvalues);
247 void copy2DToColumnContig(
int numrows,
249 const double*
const* values2d,
251 double* colcontigvalues);
254 #endif // _snl_fei_Utils_hpp_