namespace ov::util¶
Overview¶
namespace util {
// namespaces
namespace ov::util::dim;
// typedefs
typedef std::string FilePath;
// enums
enum LOG_TYPE;
// structs
template <typename T>
struct AsTypePtr;
template <typename In>
struct AsTypePtr<std::shared_ptr<In>>;
template <class T>
struct Cast;
template <>
struct FileTraits<char>;
template <class C>
struct FileTraits;
template <>
struct FileTraits<wchar_t>;
template <class T>
struct InTypeRange;
// classes
class ConstString;
class LogHelper;
class Logger;
// global functions
template <typename T>
std::string join(
const T& v,
const std::string& sep = ", "
);
template <typename T>
std::string vector_to_string(const T& v);
std::string to_lower(const std::string& s);
std::string to_upper(const std::string& s);
size_t hash_combine(const std::vector<size_t>& list);
std::string ltrim(const std::string& s);
std::string rtrim(const std::string& s);
std::string trim(const std::string& s);
bool ends_with(const std::string& src, const char \* with);
template <typename T>
bool ends_with(
const std::basic_string<T>& str,
const std::basic_string<T>& suffix
);
std::vector<std::string> split(
const std::string& s,
char delimiter,
bool trim = false
);
template <typename T>
T ceil_div(const T& x, const T& y);
template <typename T, typename A, typename V>
bool contains(
const std::vector<T, A>& vec,
const V& v
);
constexpr const char \* find_last(ConstString s, size_t offset, char ch);
constexpr const char \* find_last(ConstString s, char ch);
constexpr const char \* get_file_name(ConstString s);
std::string getenv_string(const char \* env_var);
int32_t getenv_int(const char \* env_var, int32_t default_value = -1);
bool getenv_bool(const char \* env_var, bool default_value = false);
std::string sanitize_path(const std::string& path);
std::string get_file_name(const std::string& path);
std::string get_absolute_file_path(const std::string& path);
bool is_absolute_file_path(const std::string& path);
void create_directory_recursive(const std::string& path);
bool directory_exists(const std::string& path);
int64_t file_size(const char \* path);
bool file_exists(const char \* path);
int64_t file_size(const std::string& path);
bool file_exists(const std::string& path);
std::string get_file_ext(const std::string& path);
std::string get_directory(const std::string& path);
std::string path_join(const std::vector<std::string>& paths);
void iterate_files(
const std::string& path,
const std::function<void(const std::string&file, bool is_dir)>& func,
bool recurse = false,
bool include_links = false
);
void convert_path_win_style(std::string& path);
std::string get_ov_lib_path();
std::string from_file_path(const FilePath& path);
FilePath to_file_path(const std::string& path);
std::string get_ov_library_path();
template <
typename C,
typename = typename std::enable_if<(std::is_same<C, char>::value || std::is_same<C, wchar_t>::value)>::type
>
std::basic_string<C> make_plugin_library_name(
const std::basic_string<C>& path,
const std::basic_string<C>& input
);
FilePath get_plugin_path(const std::string& plugin);
FilePath get_compiled_plugin_path(const std::string& plugin);
FilePath get_plugin_path(
const std::string& plugin,
const std::string& xml_path,
bool as_abs_only = false
);
std::vector<uint8_t> load_binary(const std::string& path);
void save_binary(const std::string& path, std::vector<uint8_t> binary);
void save_binary(const std::string& path, const char \* binary, size_t bin_size);
const char \* trim_file_name(const char \*const fname);
void default_logger_handler_func(const std::string& s);
std::shared_ptr<void> load_shared_object(const char \* path);
void \* get_symbol(
const std::shared_ptr<void>& shared_object,
const char \* symbolName
);
ov::Tensor make_tensor(
const std::shared_ptr<ov::ITensor>& tensor,
const std::shared_ptr<void>& so
);
template <class T, class U = T>
constexpr bool is_max(const T& value);
template <class T, class U = T>
constexpr bool is_min(const T& value);
} // namespace util
Detailed Documentation¶
Global Functions¶
std::string ltrim(const std::string& s)
trim from start (in place)
Parameters:
s |
|
std::string rtrim(const std::string& s)
trim from end (in place)
Parameters:
s |
|
bool ends_with(const std::string& src, const char \* with)
check string end with given substring
Parameters:
src |
|
with |
|
Returns:
true if string end with given substring
template <typename T>
bool ends_with(
const std::basic_string<T>& str,
const std::basic_string<T>& suffix
)
check string/wstring end with given substring
Parameters:
src |
|
with |
|
Returns:
true if string end with given substring
std::string getenv_string(const char \* env_var)
Get the names environment variable as a string.
Parameters:
env_var |
The string name of the environment variable to get. |
Returns:
Returns string by value or an empty string if the environment variable is not set.
int32_t getenv_int(const char \* env_var, int32_t default_value = -1)
Get the names environment variable as an integer. If the value is not a valid integer then an exception is thrown.
Parameters:
env_var |
The string name of the environment variable to get. |
default_value |
The value to return if the environment variable is not set. |
Returns:
Returns value or default_value if the environment variable is not set.
bool getenv_bool(const char \* env_var, bool default_value = false)
Get the names environment variable as a boolean. If the value is not a valid boolean then an exception is thrown. Valid booleans are one of 1, 0, on, off, true, false All values are case insensitive. If the environment variable is not set the default_value is returned.
Parameters:
env_var |
The string name of the environment variable to get. |
default_value |
The value to return if the environment variable is not set. |
Returns:
Returns the boolean value of the environment variable.
std::string sanitize_path(const std::string& path)
Remove path components which would allow traversing up a directory tree.
Parameters:
path |
A path to file |
Returns:
A sanitiazed path
std::string get_file_name(const std::string& path)
Returns the name with extension for a given path.
Parameters:
path |
The path to the output file |
std::string get_absolute_file_path(const std::string& path)
Interface function to get absolute path of file.
Parameters:
path |
|
runtime_error |
if absolute path can’t be resolved |
Returns:
Absolute path of file
bool is_absolute_file_path(const std::string& path)
Interface function to check path to file is absolute or not.
Parameters:
path |
|
runtime_error |
if any error occurred |
Returns:
True if path is absolute and False otherwise
void create_directory_recursive(const std::string& path)
Interface function to create directorty recursively by given path.
Parameters:
path |
|
runtime_error |
if any error occurred |
bool directory_exists(const std::string& path)
Interface function to check if directory exists for given path.
Parameters:
path |
|
Returns:
true if directory exists, false otherwise
int64_t file_size(const char \* path)
Returns file size for file.
Parameters:
path |
The file name |
Returns:
file size
bool file_exists(const char \* path)
Returns file size for file.
Parameters:
path |
The file name |
Returns:
file size
int64_t file_size(const std::string& path)
Returns file size for file.
Parameters:
path |
The file name |
Returns:
file size
bool file_exists(const std::string& path)
Returns true if file exists.
Parameters:
path |
The file name |
Returns:
true if file exists
FilePath get_plugin_path(const std::string& plugin)
Format plugin path (canonicalize, complete to absolute or complete to file name) for further dynamic loading by OS.
Parameters:
plugin |
|
Returns:
absolute path or file name with extension (to be found in ENV)
FilePath get_compiled_plugin_path(const std::string& plugin)
Find the plugins which are located together with OV library.
Parameters:
plugin |
|
Returns:
absolute path or file name with extension (to be found in ENV)
FilePath get_plugin_path(
const std::string& plugin,
const std::string& xml_path,
bool as_abs_only = false
)
Format plugin path (canonicalize, complete to absolute or complete to file name) for further dynamic loading by OS.
Parameters:
plugin |
|
xml_path |
|
as_abs_only |
|
Returns:
absolute path or file name with extension (to be found in ENV)
std::vector<uint8_t> load_binary(const std::string& path)
load binary data from file
Parameters:
path |
|
Returns:
binary vector
void save_binary(const std::string& path, std::vector<uint8_t> binary)
save binary data to file
Parameters:
path |
|
const char \* trim_file_name(const char \*const fname)
Trim OpenVINO project file name path if OpenVINO project directory found.
Function use OV_NATIVE_PARENT_PROJECT_ROOT_DIR
definition with project directory name defines ‘openvino_dir_name’. The input file name is scanned for OV_NATIVE_PARENT_PROJECT_ROOT_DIR, if found returns pointer to trimmed name otherwise returns input pointer.
e.g: OV_NATIVE_PARENT_PROJECT_ROOT_DIR = openvino
/home/user/openvino/src/example.cpp -> src/example.cpp
../../../../openvino/src/example.cpp -> src/example.cpp
Parameters:
fname |
Pointer to OpenVINO file name path. |
Returns:
Pointer to trimmed file name path.
std::shared_ptr<void> load_shared_object(const char \* path)
Loads a library with the name specified.
Parameters:
path |
Full or relative path to the plugin library |
Returns:
Reference to shared object
void \* get_symbol(
const std::shared_ptr<void>& shared_object,
const char \* symbolName
)
Searches for a function symbol in the loaded module.
Parameters:
shared_object |
shared object reference |
symbolName |
Name of the function to find |
if the function is not found |
Returns:
A pointer to the function if found
template <class T, class U = T>
constexpr bool is_max(const T& value)
Check if value of type T has got maximum value of type U.
Parameters:
T |
Input value type |
U |
Type to get its minimum for comparision. Default same as T. |
value |
Input value. |
Returns:
True if input value has got maximum value of type U otherwise false.
template <class T, class U = T>
constexpr bool is_min(const T& value)
Check if value of type T has got minimum value of type U.
Parameters:
T |
Input value type. |
U |
Type to get its minimum for comparision. Default same as T. |
value |
Input value. |
Returns:
True if input value has got minimum value of type U otherwise false.