Program Listing for File block_variant.hpp
↰ Return to documentation for file (cosm/repr/block_variant.hpp
)
#pragma once
/*******************************************************************************
* Includes
******************************************************************************/
#include <variant>
#include "cosm/cosm.hpp"
/*******************************************************************************
* Namespaces/Decls
******************************************************************************/
namespace cosm::repr {
class cube_block3D;
class ramp_block3D;
class base_block3D;
/*******************************************************************************
* Class Definitions
******************************************************************************/
using block3D_variantno = std::variant<cube_block3D*, ramp_block3D*>;
using block3D_variantro = std::variant<const cube_block3D*, const ramp_block3D*>;
/*******************************************************************************
* Free Functions
******************************************************************************/
crepr::block3D_variantno make_variant(crepr::base_block3D* block);
crepr::block3D_variantro make_variant(const crepr::base_block3D* block);
} /* namespace cosm::repr */