Branch data Line data Source code
1 : : /******************************************************************************
2 : : ------------- Copyright (c) 2009-2023 H a r a l d A c h i t z ---------------
3 : : ---------- < h a r a l d dot a c h i t z at g m a i l dot c o m > ------------
4 : : ---- This Source Code Form is subject to the terms of the Mozilla Public -----
5 : : ---- License, v. 2.0. If a copy of the MPL was not distributed with this -----
6 : : ---------- file, You can obtain one at http://mozilla.org/MPL/2.0/. ----------
7 : : ******************************************************************************/
8 : :
9 : : #include <sl3/types.hpp>
10 : :
11 : : #include <ostream>
12 : :
13 : : namespace sl3
14 : : {
15 : : std::string
16 : 488 : typeName (Type type)
17 : : {
18 [ + + + + : 488 : switch (type)
+ + - ]
19 : : {
20 : 2 : case Type::Null:
21 [ + - ]: 4 : return "Null";
22 : : break;
23 : 129 : case Type::Int:
24 [ + - ]: 258 : return "Int";
25 : : break;
26 : 83 : case Type::Real:
27 [ + - ]: 166 : return "Real";
28 : : break;
29 : 137 : case Type::Text:
30 [ + - ]: 274 : return "Text";
31 : : break;
32 : 129 : case Type::Blob:
33 [ + - ]: 258 : return "Blob";
34 : : break;
35 : 8 : case Type::Variant:
36 [ + - ]: 16 : return "Variant";
37 : : break;
38 : : }
39 : :
40 : : return "unknown"; // LCOV_EXCL_LINE
41 : : }
42 : :
43 : : std::ostream&
44 : 6 : operator<< (std::ostream& os, const Type& t)
45 : : {
46 [ + - + - ]: 6 : os << "Type::" << typeName (t);
47 : 6 : return os;
48 : : }
49 : :
50 : : void
51 : 18 : Types::swap (Types& other) noexcept
52 : : {
53 : : using std::swap;
54 : 18 : swap (_cont, other._cont);
55 : 18 : }
56 : : }
|