base: ensure Element::Error inherits from tlv::Error
Adding static asserts to ensure (Name|name::Component|Interest|
Selectors|Exclude|KeyLocator|Data|MetaInfo|Signature|SignatureInfo)
::Error are subclasses of tlv::Error.
This commit also adds WireEncodable and WireDecodable concept checks
to Name,name::Component,Interest,Selectors,Exclude,KeyLocator,Data,
MetaInfo,SignatureInfo types.
This commit also moves definition of Selectors method into .cpp.
refs #1983
Change-Id: I15220b93437d4a624ae09df66defc91ceac2386c
diff --git a/src/data.hpp b/src/data.hpp
index 170cad2..fec8658 100644
--- a/src/data.hpp
+++ b/src/data.hpp
@@ -33,15 +33,17 @@
namespace ndn {
+/** @brief represents a Data packet
+ */
class Data : public enable_shared_from_this<Data>
{
public:
- class Error : public std::runtime_error
+ class Error : public tlv::Error
{
public:
explicit
Error(const std::string& what)
- : std::runtime_error(what)
+ : tlv::Error(what)
{
}
};