Blender V5.0
BLI_cpp_types.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "BLI_cpp_type.hh"
12
13namespace blender {
14
19 public:
21 const CPPType &self;
23 const CPPType &value;
24
25 template<typename ValueType> VectorCPPType(TypeTag<ValueType> /*value_type*/);
26
30 static const VectorCPPType *get_from_self(const CPPType &self);
35 static const VectorCPPType *get_from_value(const CPPType &value);
36
37 template<typename ValueType> static const VectorCPPType &get()
38 {
40 return type;
41 }
42
43 template<typename ValueType> static const VectorCPPType &get_impl();
44
45 private:
46 void register_self();
47};
48
49} // namespace blender
static const VectorCPPType & get_impl()
static const VectorCPPType * get_from_self(const CPPType &self)
const CPPType & value
static const VectorCPPType * get_from_value(const CPPType &value)
VectorCPPType(TypeTag< ValueType >)
static const VectorCPPType & get()