summaryrefslogtreecommitdiff
path: root/modules/codec-obj/c++/obj.hpp
blob: 2137b7df0ecda88db3e9044fa789d9a51893122e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#pragma once

#include <forstio/codec/data.hpp>

namespace saw {
namespace encode {
struct WavefrontObj {};
}
}

namespace saw{
template<typename Schema>
class data<Schema, encode::WavefrontObj> {
private:
	std::string value_;
public:
	data(std::string value__):
		value_{std::move(value__)}
	{}
};

namespace impl {
template<typename T, typename ToDecode>
struct waveobj_helper {
	static_assert(always_false<T,ToDecode>, "Wavefront Schema not supported");
};

}

template<typename Schema>
class codec<Schema, encode::WavefrontObj> {
private:
public:
	template<typename ToEncode>
	error_or<void> decode(data<Schema,encode::WavefrontObj>& from, data<Schema, ToEncode>& to){
		return make_error<err::not_implemented>("Wavefront decode not available");
	}

	template<typename FromEncode>
	error_or<void> encode(data<Schema,FromEncode>& from, data<Schema, encode::WavefrontObj>& to){
		return make_error<err::not_implemented>("Wavefront encode not available");
	}
};
}