io.h Source File
|
CPP API
|
io.h
Go to the documentation of this file.
498 iter_err == std::end(status) ? details::eval(f, rs...) : details::ApplyResultT<F, T...>(failure(*iter_err));
510 details::ApplyResultT<F, T...> apply(IOContext& io, F f, const std::tuple<IOResult<T>...>& results)
561 auto r = obj.expect_element(make_tuple_element_name<Idx>(), Tag<std::tuple_element_t<Idx, Tup>>{});
const std::string & message() const
get the message that contains additional information about errors.
Definition: io.h:240
IOStatus(std::error_code ec, std::string msg={})
constructor with error code and message
Definition: io.h:209
std::string formatted_message() const
Get a string that combines the error code and the message.
Definition: io.h:274
bool operator!=(const IOStatus &other) const
equality comparison operators.
Definition: io.h:223
bool operator==(const IOStatus &other) const
equality comparison operators.
Definition: io.h:219
bool is_error() const
Check if the status represents failure.
Definition: io.h:266
category that describes StatusCode in std::error_code
Definition: io.h:112
virtual std::error_condition default_error_condition(int c) const noexcept override final
convert to standard error code to make it comparable.
Definition: io.h:150
virtual std::string message(int c) const override final
convert enum to string message.
Definition: io.h:125
virtual const char * name() const noexcept override final
name of the status
Definition: io.h:117
void serialize_tuple_element(IOObj &obj, const Tup &tup)
Definition: io.h:542
ApplyResultT< F, T... > eval(F f, const IOResult< T > &... rs)
Evaluates a function f using values of the given IOResults as arguments, assumes all IOResults are su...
Definition: io.h:448
FlattenIOResultT< std::invoke_result_t< F, T... > > ApplyResultT
Definition: io.h:444
typename FlattenIOResult< T >::Type FlattenIOResultT
Definition: io.h:431
IOResult< Tup > deserialize_tuple_element(IOObj &obj, Tag< Tup > tag, const IOResult< Ts > &... rs)
Definition: io.h:556
A collection of classes to simplify handling of matrix shapes in meta programming.
Definition: models/abm/analyze_result.h:30
requires details::IsElementReference< M > RowMajorIterator< M, false > end(M &m)
create a non-const end iterator for the matrix m.
Definition: eigen_util.h:449
IOResult< bool > create_directory(std::string const &rel_path, std::string &abs_path)
Creates a directory in the file system.
Definition: io.cpp:37
IOResult< T > deserialize(IOContext &io, Tag< T > tag)
Restores an object from the data stored in an IO context.
Definition: io.h:860
auto failure(const IOStatus &s)
Create an object that is implicitly convertible to an error IOResult<T>.
Definition: io.h:380
std::string get_current_dir_name()
Returns the current working directory name.
Definition: io.cpp:31
@ InvalidValue
@ FileNotFound
@ OutOfRange
@ KeyNotFound
@ UnknownError
@ InvalidType
@ InvalidFileFormat
void serialize(IOContext &io, const T &t)
Save data that describes an object in a format determined by the given context.
Definition: io.h:836
boost::outcome_v2::in_place_type_t< T > Tag
Type that is used for overload resolution.
Definition: io.h:407
details::ApplyResultT< F, T... > apply(IOContext &io, F f, const IOResult< T > &... rs)
Evaluate a function with zero or more unpacked IOResults as arguments.
Definition: io.h:481
std::error_code make_error_code(StatusCode e)
Convert StatusCode to std::error_code.
Definition: io.h:184
requires(!std::is_trivial_v< T >) void BinarySerializerObject
Definition: binary_serializer.h:333
const details::StatusCodeCategory & status_code_category()
singleton StatusCodeCategory instance.
Definition: io.h:174
auto success()
Create an object that is implicitly convertible to a succesful IOResult<void>.
Definition: io.h:359
return apply(io, [](auto &&i_) { return Container(i_.begin(), i_.end());}, i)
auto success(T &&t)
Create an object that is implicitly convertible to a succesful IOResult.
Definition: io.h:370
void unused(T &&...)
Does nothing, can be used to mark variables as not used.
Definition: compiler_diagnostics.h:30
requires details::IsElementReference< M > RowMajorIterator< M, false > begin(M &m)
create a non-const iterator to first element of the matrix m.
Definition: eigen_util.h:421
bool file_exists(std::string const &rel_path, std::string &abs_path)
Check if a file exists.
Definition: io.cpp:66
concept IsContainer
Concept to check whether C is a STL compatible container.
Definition: io.h:773
@ IOF_OmitDistributions
Don't serialize distributions for types that contain both a specific value and a distribution from wh...
Definition: io.h:76
@ IOF_OmitValues
Don't serialize the current value for types that contain both a specific value and a distribution fro...
Definition: io.h:82
@ IOF_IncludeTypeInfo
Include type info in the serialization.
Definition: io.h:88
void PrintTo(const IOStatus &status, std::ostream *os)
gtest printer for IOStatus.
Definition: io.h:290
auto failure(std::error_code c, const std::string &msg="")
Create an object that is implicitly convertible to an error IOResult<T>.
Definition: io.h:391
boost::outcome_v2::unchecked< T, IOStatus > IOResult
Value-or-error type for operations that return a value but can fail.
Definition: io.h:353
IOResult< T > deserialize_internal(IOContext &io, Tag< T > tag)
Deserialization implementation for the default serialization feature.
Definition: default_serialize.h:236
void serialize_internal(IOContext &io, const T &a)
Serialization implementation for the default serialization feature.
Definition: default_serialize.h:213
Definition: io.h:94
typename FlattenIOResult< T >::Type Type
Definition: io.h:428
Definition: io.h:423
Definition: io.h:435
Generated by