Field.hpp
Go to the documentation of this file.
1 // This code is based on Jet framework.
2 // Copyright (c) 2018 Doyub Kim
3 // CubbyFlow is voxel-based fluid simulation engine for computer games.
4 // Copyright (c) 2020 CubbyFlow Team
5 // Core Part: Chris Ohk, Junwoo Hwang, Jihong Sin, Seungwoo Yoo
6 // AI Part: Dongheon Cho, Minseo Kim
7 // We are making my contributions/submissions to this project solely in our
8 // personal capacity and are not conveying any rights to any intellectual
9 // property of any third parties.
10 
11 #ifndef CUBBYFLOW_FIELD_HPP
12 #define CUBBYFLOW_FIELD_HPP
13 
14 #include <memory>
15 
16 namespace CubbyFlow
17 {
19 template <size_t N>
20 class Field
21 {
22  public:
24  Field() = default;
25 
27  virtual ~Field() = default;
28 
30  Field(const Field&) = default;
31 
33  Field(Field&&) noexcept = default;
34 
36  Field& operator=(const Field&) = default;
37 
39  Field& operator=(Field&&) noexcept = default;
40 };
41 
43 using Field2 = Field<2>;
44 
46 using Field3 = Field<3>;
47 
49 using Field2Ptr = std::shared_ptr<Field2>;
50 
52 using Field3Ptr = std::shared_ptr<Field3>;
53 } // namespace CubbyFlow
54 
55 #endif
virtual ~Field()=default
Default virtual destructor.
Field()=default
Default constructor.
std::shared_ptr< Field3 > Field3Ptr
Shared pointer type for Field3.
Definition: Field.hpp:52
std::shared_ptr< Field2 > Field2Ptr
Shared pointer type for Field2.
Definition: Field.hpp:49
Definition: pybind11Utils.hpp:20
Field & operator=(const Field &)=default
Default copy assignment operator.
Abstract base class for N-D fields.
Definition: Field.hpp:20