Core library of serialbox. More...
Namespaces | |
serialbox | |
Namespace of the serialbox library. | |
Classes | |
class | serialbox::Archive |
Abstract interface for Archives. More... | |
class | serialbox::ArchiveFactory |
Factory to create Archives. More... | |
class | serialbox::BinaryArchive |
Non-portable binary archive. More... | |
class | serialbox::MockArchive |
Mock archive. More... | |
class | serialbox::NetCDFArchive |
Archive based on NetCDF. More... | |
struct | serialbox::ArrayUtil |
Utilites for Array. More... | |
struct | serialbox::IsArray< T > |
Check if type T is an Array. More... | |
struct | serialbox::IsArray< Array< T > > |
struct | serialbox::MakePrimitive< T > |
Return the primtive type (T::value_type ) if T is an Array or T otherwise. More... | |
class | serialbox::Exception |
Exception class which stores a human-readable error description. More... | |
struct | serialbox::FieldID |
Uniquely identifiy a field. More... | |
class | serialbox::FieldMap |
Hash-map to query the meta-information of the registered fields. More... | |
class | serialbox::FieldMetainfoImpl |
Meta-information of a data field. More... | |
class | serialbox::Hash |
Hash algorithm interface. More... | |
class | serialbox::HashFactory |
Factory to create Hash algorithms. More... | |
class | serialbox::MD5 |
Implementation of MD5 cryptographic hash algorithm. More... | |
class | serialbox::SHA256 |
Implementation of the SHA-1 (Secure Hash Algorithm 1) More... | |
class | serialbox::Logging |
Control the logging behaviour. More... | |
class | serialbox::MetainfoMapImpl |
Hash-map of meta-information of the form key = value pair or key = {value1, ..., valueN} More... | |
class | serialbox::MetainfoValueImpl |
Represent an immutable meta information value as a type-id and type-erased data. More... | |
class | serialbox::SavepointImpl |
Shared implementation of the Savepoint. More... | |
class | serialbox::SavepointVector |
The SavepointVector manages the registered savepoints and their mapping to the stored fields. More... | |
class | serialbox::SerializerImpl |
Shared implementation of the Serializer. More... | |
struct | serialbox::SliceTriple |
Slice per dimension. More... | |
class | serialbox::Slice |
Specification of the slice indices which is used for partial loading of serialized data. More... | |
class | serialbox::StorageView |
Represent a mutable view to a multi-dimensional storage. More... | |
class | serialbox::StorageViewIteratorBase< ValueType > |
Forward iterator to access the data of a StorageView. More... | |
class | serialbox::StorageViewIterator |
Mutable forward iterator to access the data of a StorageView. More... | |
class | serialbox::ConstStorageViewIterator |
Non-mutable forward iterator to access the data of a StorageView. More... | |
class | serialbox::Timer |
High resolution timer. More... | |
struct | serialbox::IsSupported< T > |
Check if the Type is recognized by serialbox i.e maps to a type-id in TypeID. More... | |
struct | serialbox::TypeUtil |
Utilites for TypeID. More... | |
struct | serialbox::ToTypeID< T > |
Convert C++ type T to TypeID. More... | |
struct | serialbox::ToTypeID< bool > |
struct | serialbox::ToTypeID< float > |
struct | serialbox::ToTypeID< double > |
struct | serialbox::ToTypeID< Array< bool > > |
struct | serialbox::ToTypeID< Array< float > > |
struct | serialbox::ToTypeID< Array< double > > |
struct | serialbox::ToType< ID > |
Convert TypeID to C++ type. More... | |
struct | serialbox::ToType< TypeID::Boolean > |
struct | serialbox::ToType< TypeID::Int32 > |
struct | serialbox::ToType< TypeID::Int64 > |
struct | serialbox::ToType< TypeID::Float32 > |
struct | serialbox::ToType< TypeID::Float64 > |
struct | serialbox::ToType< TypeID::String > |
struct | serialbox::ToType< TypeID::ArrayOfBoolean > |
struct | serialbox::ToType< TypeID::ArrayOfInt32 > |
struct | serialbox::ToType< TypeID::ArrayOfInt64 > |
struct | serialbox::ToType< TypeID::ArrayOfFloat32 > |
struct | serialbox::ToType< TypeID::ArrayOfFloat64 > |
struct | serialbox::ToType< TypeID::ArrayOfString > |
class | serialbox::match_cv_qualifier< QualifiedType, UnqualifiedType, IsConst, IsVolatile > |
Utility for constructing identically cv-qualified types. More... | |
struct | serialbox::Version |
Utility to deal with Serialbox versions. More... | |
Macros | |
#define | LOG(severity) SERIALBOX_INTERNAL_LOG(severity) |
Logging infrastructure. More... | |
#define | SERIALBOX_INTERNAL_LOG(severity) |
#define | serialbox_unreachable(msg) ::serialbox::serialbox_unreachable_internal(msg, __FILE__, __LINE__) |
Marks that the current location is not supposed to be reachable. More... | |
Typedefs | |
template<class T > | |
using | serialbox::Array = std::vector< T > |
Array class used by serialbox to store meta-information. | |
using | serialbox::Byte = char |
Represent a byte i.e sizeof(Byte) == 1. | |
Enumerations | |
enum | serialbox::OpenModeKind : std::uint8_t { Read = 0, Write, Append } |
Policy for opening files in the Serializer and Archive. | |
enum | serialbox::TypeID : int { Invalid = 0, Boolean, Int32, Int64, Float32, Float64, String, Array = 0x10, ArrayOfBoolean = Array | Boolean, ArrayOfInt32 = Array | Int32, ArrayOfInt64 = Array | Int64, ArrayOfFloat32 = Array | Float32, ArrayOfFloat64 = Array | Float64, ArrayOfString = Array | String } |
Type-id of types recognized by serialbox. More... | |
Functions | |
bool | serialbox::operator== (const FieldID &left, const FieldID &right) |
Check for equality of FieldIDs. | |
bool | serialbox::operator!= (const FieldID &left, const FieldID &right) |
Check for inequality of FieldIDs. | |
std::ostream & | serialbox::operator<< (std::ostream &stream, const FieldID &f) |
Convert FieldID to stream. | |
void | serialbox::swap (StorageView &a, StorageView &b) noexcept |
std::ostream & | serialbox::operator<< (std::ostream &stream, const OpenModeKind &mode) |
Convert OpenModeKind to stream. | |
std::ostream & | serialbox::operator<< (std::ostream &stream, const TypeID &t) |
Convert TypeID to stream. | |
SERIALBOX_ATTRIBUTE_NORETURN void | serialbox::serialbox_unreachable_internal (const char *msg, const char *file, unsigned line) |
template<> | |
bool | serialbox::MetainfoValueImpl::as () const |
Core library of serialbox.
#define LOG | ( | severity | ) | SERIALBOX_INTERNAL_LOG(severity) |
Logging infrastructure.
LOG The macro is used to initiate logging. The lvl
argument of the macro specifies one of the following severity levels: trace
, debug
, info
, warning
, error
or fatal
.
The logging can be completely turned off by defining SERIALBOX_DISABLE_LOGGING
.
#define SERIALBOX_INTERNAL_LOG | ( | severity | ) |
#define serialbox_unreachable | ( | msg | ) | ::serialbox::serialbox_unreachable_internal(msg, __FILE__, __LINE__) |
Marks that the current location is not supposed to be reachable.
serialbox_unreachable In !NDEBUG builds, prints the message and location info to stderr. In NDEBUG builds, becomes an optimizer hint that the current location is not supposed to be reachable. On compilers that don't support such hints, prints a reduced message instead.
Definition at line 41 of file Unreachable.h.
|
strong |
Type-id of types recognized by serialbox.
This enum is duplicated in serialbox-c/Type.h
.