DNA Calib 1.1
Project brief
Namespaces | Classes | Typedefs | Enumerations | Functions
trio Namespace Reference

Namespaces

namespace  anonymous_namespace{FileStreamImpl.cpp}
 
namespace  anonymous_namespace{MemoryStreamImpl.cpp}
 

Classes

class  Bounded
 
class  BoundedIOStream
 
class  Buffered
 
class  Closeable
 
class  Controllable
 
class  FileStream
 Standard file stream. More...
 
class  FileStreamImpl
 
class  MemoryMappedFileStream
 Memory mapped file stream. More...
 
class  MemoryMappedFileStreamFallback
 
class  MemoryStream
 In-memory stream. More...
 
class  MemoryStreamImpl
 
class  Openable
 
class  Readable
 
class  Resizable
 
class  Seekable
 
class  StreamScope
 
class  StreamStatus
 
struct  StringConverter
 
struct  StringConverter< char >
 
struct  StringConverter< wchar_t >
 
class  Writable
 

Typedefs

using MemoryMappedFileStreamImpl = MemoryMappedFileStreamFallback
 
using NativeCharacter = char
 
using NativeString = pma::String< NativeCharacter >
 
using NativeStringConverter = StringConverter< NativeCharacter >
 

Enumerations

enum class  AccessMode { Read = 1 , Write = 2 , ReadWrite = 3 }
 
enum class  OpenMode { Binary = 4 , Text = 8 }
 

Functions

template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type operator& (TEnum lhs, TEnum rhs)
 
template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type operator| (TEnum lhs, TEnum rhs)
 
template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type operator^ (TEnum lhs, TEnum rhs)
 
template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type operator~ (TEnum value)
 
template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type operator&= (TEnum &lhs, TEnum rhs)
 
template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type operator|= (TEnum &lhs, TEnum rhs)
 
template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type operator^= (TEnum &lhs, TEnum rhs)
 
template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, bool >::type contains (TEnum lhs, TEnum rhs)
 

Typedef Documentation

◆ MemoryMappedFileStreamImpl

◆ NativeCharacter

using trio::NativeCharacter = typedef char

◆ NativeString

◆ NativeStringConverter

Enumeration Type Documentation

◆ AccessMode

enum class trio::AccessMode
strong
Enumerator
Read 
Write 
ReadWrite 
7 {
8 Read = 1,
9 Write = 2,
10 ReadWrite = 3
11};

◆ OpenMode

enum class trio::OpenMode
strong
Enumerator
Binary 
Text 
13 {
14 Binary = 4,
15 Text = 8
16};

Function Documentation

◆ contains()

template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, bool >::type trio::contains ( TEnum  lhs,
TEnum  rhs 
)
57 {
58 return (lhs & rhs) == rhs;
59}

Referenced by trio::FileStreamImpl::open(), trio::FileStreamImpl::read(), and trio::FileStreamImpl::write().

◆ operator&()

template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type trio::operator& ( TEnum  lhs,
TEnum  rhs 
)
11 {
12 using Underlying = typename std::underlying_type<TEnum>::type;
13 return static_cast<TEnum>(static_cast<Underlying>(lhs) & static_cast<Underlying>(rhs));
14}

◆ operator&=()

template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type trio::operator&= ( TEnum &  lhs,
TEnum  rhs 
)
39 {
40 return lhs = (lhs & rhs);
41}

◆ operator^()

template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type trio::operator^ ( TEnum  lhs,
TEnum  rhs 
)
25 {
26 using Underlying = typename std::underlying_type<TEnum>::type;
27 return static_cast<TEnum>(static_cast<Underlying>(lhs) ^ static_cast<Underlying>(rhs));
28}

◆ operator^=()

template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type trio::operator^= ( TEnum &  lhs,
TEnum  rhs 
)
51 {
52 return lhs = (lhs ^ rhs);
53}

◆ operator|()

template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type trio::operator| ( TEnum  lhs,
TEnum  rhs 
)
18 {
19 using Underlying = typename std::underlying_type<TEnum>::type;
20 return static_cast<TEnum>(static_cast<Underlying>(lhs) | static_cast<Underlying>(rhs));
21}

◆ operator|=()

template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type trio::operator|= ( TEnum &  lhs,
TEnum  rhs 
)
45 {
46 return lhs = (lhs | rhs);
47}

◆ operator~()

template<typename TEnum >
std::enable_if< std::is_enum< TEnum >::value, TEnum >::type trio::operator~ ( TEnum  value)
32 {
33 using Underlying = typename std::underlying_type<TEnum>::type;
34 return static_cast<TEnum>(~static_cast<Underlying>(value));
35}