add static assertions to SearchEngine
This commit is contained in:
parent
044e41c079
commit
0c66f84555
@ -33,6 +33,8 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|||||||
#include "../RoutingAlgorithms/ManyToManyRouting.h"
|
#include "../RoutingAlgorithms/ManyToManyRouting.h"
|
||||||
#include "../RoutingAlgorithms/ShortestPathRouting.h"
|
#include "../RoutingAlgorithms/ShortestPathRouting.h"
|
||||||
|
|
||||||
|
#include <type_traits>
|
||||||
|
|
||||||
template <class DataFacadeT> class SearchEngine
|
template <class DataFacadeT> class SearchEngine
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
@ -48,6 +50,8 @@ template <class DataFacadeT> class SearchEngine
|
|||||||
: facade(facade), shortest_path(facade, engine_working_data),
|
: facade(facade), shortest_path(facade, engine_working_data),
|
||||||
alternative_path(facade, engine_working_data), distance_table(facade, engine_working_data)
|
alternative_path(facade, engine_working_data), distance_table(facade, engine_working_data)
|
||||||
{
|
{
|
||||||
|
static_assert(!std::is_pointer<DataFacadeT>(), "don't instantiate with ptr type");
|
||||||
|
static_assert(std::is_object<DataFacadeT>(), "don't instantiate with void, function, or reference");
|
||||||
}
|
}
|
||||||
|
|
||||||
~SearchEngine() {}
|
~SearchEngine() {}
|
||||||
|
Loading…
Reference in New Issue
Block a user