// Copyright Vespa.ai. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. #pragma once #include #include namespace vespalib { namespace slime { // internal traits for data type types template struct TypeTraits {}; template<> struct TypeTraits { static void assertIsCreatedEmpty() {} }; template<> struct TypeTraits { using PassType = bool; using StoreType = PassType; static const bool unsetValue = false; }; template<> struct TypeTraits { using PassType = int64_t; using StoreType = PassType; static const int64_t unsetValue = 0; }; template<> struct TypeTraits { using PassType = double; using StoreType = PassType; static const double unsetValue; }; template<> struct TypeTraits { using PassType = Memory; static const Memory unsetValue; }; template<> struct TypeTraits { using PassType = Memory; static const Memory unsetValue; }; template<> struct TypeTraits { static void assertIsCreatedEmpty() {} }; template<> struct TypeTraits { static void assertIsCreatedEmpty() {} }; } // namespace vespalib::slime } // namespace vespalib