OSVR-Core
Classes | Namespaces | Functions
CSVCellGroup.h File Reference

Header. More...

#include <osvr/Util/CSV.h>
#include <osvr/Util/QuaternionC.h>
#include <osvr/Util/TimeValue.h>
#include <osvr/Util/Vec3C.h>

Go to the source code of this file.

Classes

class  osvr::util::CellGroupProxy< RowProxyType, GroupTag >
 A class that exists to make it easier to output composite data structures to CSV. More...
 
struct  osvr::util::detail::PrefixTypeToArgType< PrefixType >
 
struct  osvr::util::detail::PrefixTypeToArgType< std::string >
 
class  osvr::util::detail::CellGroup< T, PrefixType, Tag >
 Temporary object created by the cellGroup call, captures the string (literal) prefix, the data reference/type, and the group tag. More...
 

Namespaces

 osvr
 The main namespace for all C++ elements of the framework, internal and external.
 
 osvr::util
 The Util library: Functionality not necessarily coupled to any particular core library, serving more as a common base layer behind all systems.
 

Functions

template<typename RowProxyType , typename GroupTag , typename... CellArgs>
CellGroupProxy< RowProxyType, GroupTag > & osvr::util::operator<< (CellGroupProxy< RowProxyType, GroupTag > &group, detail::Cell< CellArgs... > &&currentCell)
 Handles user results from overloading operator<<(CellGroupProxy<RowProxyType, GroupTag> &group, TheirThing) and sending in cell calls within it. More...
 
template<typename Derived , typename T , typename PrefixType , typename Tag >
CSVRowProxy< Derived > & osvr::util::detail::operator<< (CSVRowProxy< Derived > &row, detail::CellGroup< T, PrefixType, Tag > const &group)
 Wrapper for RowProxy lvalue-reference and CellGroup: creates the specially-typed CellGroupProxy object that will activate the user's operator<< and ours in turn, and takes care of getting the return value correct for chained calls. More...
 
template<typename Derived , typename T , typename PrefixType , typename Tag >
CSVRowProxy< Derived > && osvr::util::detail::operator<< (CSVRowProxy< Derived > &&row, detail::CellGroup< T, PrefixType, Tag > const &group)
 Wrapper for RowProxy rvalue-reference and CellGroup. More...
 
template<typename T >
detail::CellGroup< Tosvr::util::cellGroup (const char *groupHeader, T const &data)
 Helper function to create a cell group with a group header prefix.
 
template<typename T >
detail::CellGroup< T, std::string > osvr::util::cellGroup (std::string const &groupHeader, T const &data)
 Helper function to create a cell group with a group header prefix.
 
template<typename Tag , typename T >
detail::CellGroup< T, const char *, Tag > osvr::util::cellGroup (const char *groupHeader, T const &data, Tag *=static_cast< Tag *>(nullptr))
 Helper function to create a cell group with a group header prefix and explicit (non-default) tag. More...
 
template<typename Tag , typename T >
detail::CellGroup< T, std::string, Tag > osvr::util::cellGroup (std::string const &groupHeader, T const &data, Tag *=static_cast< Tag *>(nullptr))
 Helper function to create a cell group with a group header prefix and explicit (non-default) tag. More...
 
template<typename T >
detail::CellGroup< Tosvr::util::cellGroup (T const &data)
 Helper function to create a cell group with no group header prefix - warning: column headers must be unique!
 
template<typename Tag , typename T >
detail::CellGroup< T, const char *, Tag > osvr::util::cellGroup (T const &data, Tag *=static_cast< Tag *>(nullptr))
 Helper function to create a cell group with no group header prefix and explicit (non-default) tag - warning: column headers must be unique!
 
template<typename T >
void osvr::util::operator<< (CellGroupProxy< T, DefaultGroupTag > &group, time::TimeValue const &tv)
 
template<typename T >
void osvr::util::operator<< (CellGroupProxy< T, AbbreviatedTimeMemberFieldsTag > &group, time::TimeValue const &tv)
 
template<typename T >
void osvr::util::operator<< (CellGroupProxy< T, DecimalTimeFieldTag > &group, time::TimeValue const &tv)
 
template<typename T >
void osvr::util::operator<< (CellGroupProxy< T, DefaultGroupTag > &group, OSVR_Vec3 const &v)
 
template<typename T >
void osvr::util::operator<< (CellGroupProxy< T, DefaultGroupTag > &group, OSVR_Quaternion const &q)
 

Detailed Description

Header.

Date
2016
Author
Sensics, Inc. http://sensics.com/osvr

Function Documentation

§ operator<<() [1/2]

template<typename Derived , typename T , typename PrefixType , typename Tag >
CSVRowProxy<Derived>& osvr::util::detail::operator<< ( CSVRowProxy< Derived > &  row,
detail::CellGroup< T, PrefixType, Tag > const &  group 
)
inline

Wrapper for RowProxy lvalue-reference and CellGroup: creates the specially-typed CellGroupProxy object that will activate the user's operator<< and ours in turn, and takes care of getting the return value correct for chained calls.

§ operator<<() [2/2]

template<typename Derived , typename T , typename PrefixType , typename Tag >
CSVRowProxy<Derived>&& osvr::util::detail::operator<< ( CSVRowProxy< Derived > &&  row,
detail::CellGroup< T, PrefixType, Tag > const &  group 
)
inline

Wrapper for RowProxy rvalue-reference and CellGroup.

creates the specially-typed CellGroupProxy object that will activate the user's operator<< and ours in turn, and takes care of getting the return value correct for chained calls.