Kanzi 4.0.0-beta2
Utilities

General Kanzi utility classes and functions. More...

Collaboration diagram for Utilities:

Topics

 File utilities
 File handling utility classes.
 

Classes

struct  kanzi::enable_bitmask_operators< Enum >
 Enabler template for bitmask operators over an Enum class. More...
 
class  kanzi::FixedString
 String that points to a string literal. More...
 
class  kanzi::FlagScopeGuard< FlagValue >
 Scope guard for boolean value. More...
 
class  kanzi::FlagWaiter
 Waiter object that can block the calling thread until a flag is set. More...
 
struct  kanzi::from_chars_result
 Holds the status result of a call to from_chars. More...
 

Functions

template<typename Enum >
constexpr bool kanzi::containsAnyFlag (Enum hay, Enum needle)
 Returns whether a bit field contains any of the bit flags in a given set.
 
template<typename Enum >
constexpr bool kanzi::containsFlag (Enum hay, Enum needle)
 Returns whether a bit field contains all the bit flags in a given set.
 
from_chars_result kanzi::from_chars (const char *first, const char *last, int &value, int base=10)
 Converts a character sequence to an integer value.
 
from_chars_result kanzi::from_chars (const char *first, const char *last, unsigned int &value, int base=10)
 Converts a character sequence to an unsigned integer value.
 
from_chars_result kanzi::from_chars (const char *first, const char *last, unsigned long &value, int base=10)
 Converts a character sequence to an unsigned long value.
 
from_chars_result kanzi::from_chars (const char *first, const char *last, unsigned long long &value, int base=10)
 Converts a character sequence to an unsigned long long value.
 
template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator& (Enum lhs, Enum rhs)
 Bitwise AND operator between two enum class values.
 
template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum & >::type kanzi::operator&= (Enum &lhs, Enum rhs)
 Bitwise AND assignment operator between two enum class values.
 
template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator^ (Enum lhs, Enum rhs)
 Bitwise XOR operator between two enum class values.
 
template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum & >::type kanzi::operator^= (Enum &lhs, Enum rhs)
 Bitwise XOR assignment operator between two enum class values.
 
template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator| (Enum lhs, Enum rhs)
 Bitwise OR operator between two enum class values.
 
template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum & >::type kanzi::operator|= (Enum &lhs, Enum rhs)
 Bitwise OR assignment operator between two enum class values.
 
template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator~ (Enum lhs)
 Bitwise NOT operator over an enum class value.
 

Detailed Description

General Kanzi utility classes and functions.

Function Documentation

◆ from_chars() [1/4]

from_chars_result kanzi::from_chars ( const char * first,
const char * last,
int & value,
int base = 10 )
inline

Converts a character sequence to an integer value.

This is implementation of std::from_chars that is available in C++17. According to the standard specification this function should not depend on the active locale, however this implementation is affected by the active locale.

Parameters
firstPointer to the first character in the range to be converted.
lastPointer to the first character beyond the last in range to be converted.
valueReference to the storage where the converted value is stored.
baseInteger base of the character string.
Returns
Status result of the value conversion.

◆ from_chars() [2/4]

from_chars_result kanzi::from_chars ( const char * first,
const char * last,
unsigned int & value,
int base = 10 )
inline

Converts a character sequence to an unsigned integer value.

This is implementation of std::from_chars that is available in C++17. According to the standard specification this function should not depend on the active locale, however this implementation is affected by the active locale.

Parameters
firstPointer to the first character in the range to be converted.
lastPointer to the first character beyond the last in range to be converted.
valueReference to the storage where the converted value is stored.
baseInteger base of the character string.
Returns
Status result of the value conversion.

◆ from_chars() [3/4]

from_chars_result kanzi::from_chars ( const char * first,
const char * last,
unsigned long & value,
int base = 10 )
inline

Converts a character sequence to an unsigned long value.

This is implementation of std::from_chars that is available in C++17. According to the standard specification this function should not depend on the active locale, however this implementation is affected by the active locale.

Parameters
firstPointer to the first character in the range to be converted.
lastPointer to the first character beyond the last in range to be converted.
valueReference to the storage where the converted value is stored.
baseInteger base of the character string.
Returns
Status result of the value conversion.

◆ from_chars() [4/4]

from_chars_result kanzi::from_chars ( const char * first,
const char * last,
unsigned long long & value,
int base = 10 )
inline

Converts a character sequence to an unsigned long long value.

This is implementation of std::from_chars that is available in C++17. According to the standard specification this function should not depend on the active locale, however this implementation is affected by the active locale.

Parameters
firstPointer to the first character in the range to be converted.
lastPointer to the first character beyond the last in range to be converted.
valueReference to the storage where the converted value is stored.
baseInteger base of the character string.
Returns
Status result of the value conversion.

◆ operator|()

template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator| ( Enum lhs,
Enum rhs )
constexpr

Bitwise OR operator between two enum class values.

◆ operator&()

template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator& ( Enum lhs,
Enum rhs )
constexpr

Bitwise AND operator between two enum class values.

◆ operator^()

template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator^ ( Enum lhs,
Enum rhs )
constexpr

Bitwise XOR operator between two enum class values.

◆ operator~()

template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum >::type kanzi::operator~ ( Enum lhs)
constexpr

Bitwise NOT operator over an enum class value.

◆ operator|=()

template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum & >::type kanzi::operator|= ( Enum & lhs,
Enum rhs )
constexpr

Bitwise OR assignment operator between two enum class values.

◆ operator&=()

template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum & >::type kanzi::operator&= ( Enum & lhs,
Enum rhs )
constexpr

Bitwise AND assignment operator between two enum class values.

◆ operator^=()

template<typename Enum >
constexpr enable_if< enable_bitmask_operators< Enum >::enable, Enum & >::type kanzi::operator^= ( Enum & lhs,
Enum rhs )
constexpr

Bitwise XOR assignment operator between two enum class values.

◆ containsFlag()

template<typename Enum >
constexpr bool kanzi::containsFlag ( Enum hay,
Enum needle )
constexpr

Returns whether a bit field contains all the bit flags in a given set.

Parameters
hayThe bit field to search.
needleThe set of bit flags to look for.
Since
Kanzi 4.0.0

◆ containsAnyFlag()

template<typename Enum >
constexpr bool kanzi::containsAnyFlag ( Enum hay,
Enum needle )
constexpr

Returns whether a bit field contains any of the bit flags in a given set.

Parameters
hayThe bit field to search.
needleThe set of bit flags to look for.
Since
Kanzi 4.0.0