Blender V4.3
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
5#pragma once
6
7#include "BLI_cpp_type.hh"
8#include "BLI_vector.hh"
9
10namespace blender {
11
16 public:
18 const CPPType &self;
20 const CPPType &value;
21
22 template<typename ValueType> VectorCPPType(TypeTag<ValueType> /*value_type*/);
23
27 static const VectorCPPType *get_from_self(const CPPType &self);
32 static const VectorCPPType *get_from_value(const CPPType &value);
33
34 template<typename ValueType> static const VectorCPPType &get()
35 {
37 return type;
38 }
39
40 template<typename ValueType> static const VectorCPPType &get_impl();
41
42 private:
43 void register_self();
44};
45
46} // 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()