C++ Mathematical Expression Toolkit (ExprTk) release
Loading...
Searching...
No Matches
Classes | Enumerations | Functions
exprtk::rtl::io::file::details Namespace Reference

Classes

struct  file_descriptor
 

Enumerations

enum  file_mode { e_error = 0 , e_read = 1 , e_write = 2 , e_rdwrt = 4 }
 

Functions

template<typename T >
file_descriptormake_handle (T v)
 
template<typename T >
void perform_check ()
 

Enumeration Type Documentation

◆ file_mode

Enumerator
e_error 
e_read 
e_write 
e_rdwrt 

Definition at line 43710 of file exprtk.hpp.

Function Documentation

◆ make_handle()

template<typename T >
file_descriptor * exprtk::rtl::io::file::details::make_handle ( v)

Definition at line 43903 of file exprtk.hpp.

43904 {
43905 const std::size_t fd_size = sizeof(details::file_descriptor*);
43906 details::file_descriptor* fd = reinterpret_cast<file_descriptor*>(0);
43907
43908 std::memcpy(reinterpret_cast<char_ptr >(&fd),
43909 reinterpret_cast<char_cptr>(&v ),
43910 fd_size);
43911 return fd;
43912 }

Referenced by exprtk::rtl::io::file::write< T >::operator()(), exprtk::rtl::io::file::read< T >::operator()(), exprtk::rtl::io::file::close< T >::operator()(), exprtk::rtl::io::file::eof< T >::operator()(), and exprtk::rtl::io::file::getline< T >::operator()().

Here is the caller graph for this function:

◆ perform_check()

template<typename T >
void exprtk::rtl::io::file::details::perform_check ( )

Definition at line 43915 of file exprtk.hpp.

43916 {
43917 #ifdef _MSC_VER
43918 #pragma warning(push)
43919 #pragma warning(disable: 4127)
43920 #endif
43921 if (sizeof(T) < sizeof(void*))
43922 {
43923 throw std::runtime_error("exprtk::rtl::io::file - Error - pointer size larger than holder.");
43924 }
43925 #ifdef _MSC_VER
43926 #pragma warning(pop)
43927 #endif
43928 assert(sizeof(T) <= sizeof(void*));
43929 }