Ponca  7b3f8ad3fde25a027e6452783ccee143798a71b8
Point Cloud Analysis library
Loading...
Searching...
No Matches
instantiate.h
1/*
2 This Source Code Form is subject to the terms of the Mozilla Public
3 License, v. 2.0. If a copy of the MPL was not distributed with this
4 file, You can obtain one at http://mozilla.org/MPL/2.0/.
5*/
6#pragma once
7
8#ifdef _PONCA_SHARED_LIBRARY
9# define _INSTANTIATE_PONCA_EXTERN
10#else
11# define _INSTANTIATE_PONCA_EXTERN extern
12#endif
13
14#include "../../../Common"
15#include "../../../Fitting"
16
17namespace Ponca
18{
19// Note: Variadic macros here because ',' in template definition are parsed as different arguments
20// we could use a trick by wrapping the class in parenthesis, but for now this works and is simpler.
21#define _PONCA_INSTANTIATE(...) _INSTANTIATE_PONCA_EXTERN template class __VA_ARGS__;
22#define _PONCA_BASKET_X(name, desc, ...) _PONCA_INSTANTIATE(__VA_ARGS__);
23#define _PONCA_BASKET_DIFF_X(name, desc, ...) _PONCA_INSTANTIATE(__VA_ARGS__);
24#include "instantiate_list/entrypoint.h"
25#undef _PONCA_BASKET_X
26#undef _PONCA_BASKET_DIFF_X
27#undef _PONCA_INSTANTIATE
28}; // namespace Ponca
This Source Code Form is subject to the terms of the Mozilla Public License, v.
Definition concepts.h:11