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
25 files changed
tree: 708c5d769f3f48df325d4d5ec4e1aa4c89b1c24e
  1. .jenkins.d/
  2. .waf-tools/
  3. docs/
  4. examples/
  5. src/
  6. tests/
  7. tools/
  8. .gitignore
  9. .jenkins
  10. .travis.yml
  11. AUTHORS.md
  12. client.conf.sample
  13. COPYING.md
  14. libndn-cxx.pc.in
  15. README-dev.md
  16. README.md
  17. waf
  18. wscript
README.md

ndn-cxx: NDN C++ library with eXperimental eXtensions

ndn-cxx is a C++ library, implementing Named Data Networking (NDN) primitives that can be used to implement various NDN applications. The library is currently being used as part of the following projects:

See the file docs/INSTALL.rst for build and install instructions.

Please submit any bugs or issues to the ndn-cxx issue tracker: http://redmine.named-data.net/projects/ndn-cxx/issues

More documentation

Extensive documentation of the library is available on the library's homepage: http://www.named-data.net/doc/ndn-cxx/

License

ndn-cxx is an open source project licensed under LGPL 3.0 license. For more information about the license, refer to COPYING.md.