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 44203 of file exprtk.hpp.

Function Documentation

◆ make_handle()

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

Definition at line 44396 of file exprtk.hpp.

44397 {
44398 const std::size_t fd_size = sizeof(details::file_descriptor*);
44399 details::file_descriptor* fd = reinterpret_cast<file_descriptor*>(0);
44400
44401 std::memcpy(reinterpret_cast<char_ptr >(&fd),
44402 reinterpret_cast<char_cptr>(&v ),
44403 fd_size);
44404 return fd;
44405 }

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 44408 of file exprtk.hpp.

44409 {
44410 #ifdef _MSC_VER
44411 #pragma warning(push)
44412 #pragma warning(disable: 4127)
44413 #endif
44414 if (sizeof(T) < sizeof(void*))
44415 {
44416 throw std::runtime_error("exprtk::rtl::io::file - Error - pointer size larger than holder.");
44417 }
44418 #ifdef _MSC_VER
44419 #pragma warning(pop)
44420 #endif
44421 assert(sizeof(T) <= sizeof(void*));
44422 }