diff --git a/include/fc/variant.hpp b/include/fc/variant.hpp index 821966b..9736423 100644 --- a/include/fc/variant.hpp +++ b/include/fc/variant.hpp @@ -211,6 +211,9 @@ namespace fc variant( uint32_t val, uint32_t max_depth = 1 ); variant( int32_t val, uint32_t max_depth = 1 ); variant( uint64_t val, uint32_t max_depth = 1 ); +#ifdef __APPLE__ + variant( size_t val, uint32_t max_depth = 1 ); +#endif variant( int64_t val, uint32_t max_depth = 1 ); variant( double val, uint32_t max_depth = 1 ); variant( bool val, uint32_t max_depth = 1 ); diff --git a/src/variant.cpp b/src/variant.cpp index ef28bc5..31204d4 100644 --- a/src/variant.cpp +++ b/src/variant.cpp @@ -74,6 +74,14 @@ variant::variant( uint64_t val, uint32_t max_depth ) set_variant_type( this, uint64_type ); } +#ifdef __APPLE__ +variant::variant( size_t val, uint32_t max_depth ) +{ + *reinterpret_cast(this) = val; + set_variant_type( this, uint64_type ); +} +#endif + variant::variant( int64_t val, uint32_t max_depth ) { *reinterpret_cast(this) = val;