rendered paste body/*namespace My{ class Description {}; class WaterTable {}; class GPM {}; class IsRunning {};}typedef CSV::Entry< My::Description, std::string, CSV::Entry< My::WaterTable, int, CSV::Entry< My::GPM, float, CSV::Entry< My::IsRunning, bool, CSV::eol> > >> My_CSVType;if(!CSV::Field<My_CSVType,My::Description>::IsNull(tt)) { std::string test = CSV::Field<My_CSVType,My::Description>::Data(tt); std::cout << test << std::endl;} else { std::cout << "NULL" << std::endl;}.\Visual Studio Projects\csvtest\csvtest.cpp(77) : error C2440: 'initializing' : cannot convert from 'int' to 'std::basic_string<_Elem,_Traits,_Ax>' with [ _Elem=char, _Traits=std::char_traits<char>, _Ax=std::allocator<char> ] No constructor could take the source type, or constructor overload resolution was ambiguous */////// CSVField///template< typename T1 >struct is_same_part_1{ template<typename T2> struct part_2 { enum { value = false }; }; template<> struct part_2<T1> { enum { value = true }; };};template< typename T1, typename T2 >struct is_same_impl{ enum { value = is_same_part_1<T1>::template part_2<T2>::value };};template < typename TypeList, typename FIELD, bool isField = is_same_impl<FIELD,TypeList::FieldName>::value >struct Field { static /*unspecified*/ Data(TypeList& tt); static bool IsNull(TypeList& tt);};template < typename TypeList, typename FIELD >struct Field<TypeList,FIELD,false>{ static /*unspecified*/ Data(TypeList& tt) { return Field<TypeList::NextType, FIELD>::Data(tt.Next); } static bool IsNull(TypeList& tt) { return Field<TypeList::NextType, FIELD>::IsNull(tt.Next); }};template < typename TypeList, typename FIELD >struct Field<TypeList,FIELD,true>{ static /*unspecified*/ Data(TypeList& tt) { return tt.Data; } static bool IsNull(TypeList& tt) { return tt.IsNull; }};////// CSVField_n///template < typename TypeList, unsigned FIELD >struct Field_n{ static /*unspecified*/ Data(TypeList& tt) { return Field_n<TypeList::NextType,FIELD-1>::Data(tt.Next); } static bool IsNull(TypeList& tt) { return Field_n<TypeList::NextType,FIELD-1>::IsNull(tt.Next); }};template< typename TypeList >struct Field_n<TypeList,0>{ static /*unspecified*/ Data(TypeList& tt) { return tt.Data; } static bool IsNull(TypeList& tt) { return tt.IsNull; }};