#pragma once #include #include #include #include "VectorFwd.h" //This is a implementation file used by the templated Vector class. The primary purpose of this //class is to form a compilation firewall for the Ve namespace Aftr { namespace VectorImpl { //Wraps the call to AftrUtilites, so Vector.h does NOT have to actually include AftrUtilities.h (huge header) std::string encodeBinaryToBase64( const std::vector& data ); //Wraps the call to AftrUtilites, so Vector.h does NOT have to actually include AftrUtilities.h (huge header) /// Any extra padding at the end "==" or "=" will be ignored when converting to binary. std::vector< unsigned char > encodeBase64ToBinary( const std::string& base64Str ); template< typename T > Aftr::VectorT make_VectorT( std::string const& str ); template< typename T > std::string toString( VectorT const& v, size_t length ); template< typename T > std::string toStringWithMag( VectorT const& v, size_t length ); template< typename T > std::optional< VectorT > fromString_opt( std::string const& str ); } }