• Kenton Varda's avatar
    Generics: Tag generated types using members rather than template specialization. · 490acec8
    Kenton Varda authored
    That is to say, whereas previously we would extend capnp::typeId<T>() to a new type by declaring a specialization of it for that type, now we instead have the type contain a nested class called _capnpPrivate which contains a `typeId` constant.
    
    This is necessary because it is impossible to specialize a template for a type which is itself nested inside a template type. E.g. it's impossible to write a specialization `template <typename T> typeId<Foo<T>::Bar>()`; C++ simply doesn't support this. But with generics, Cap'n Proto will allow types to be nested inside templates, so we need this to work.
    490acec8
Name
Last commit
Last update
..
benchmark Loading commit data...
compiler Loading commit data...
testdata Loading commit data...
any-test.c++ Loading commit data...
any.c++ Loading commit data...
any.h Loading commit data...
arena.c++ Loading commit data...
arena.h Loading commit data...
blob-test.c++ Loading commit data...
blob.c++ Loading commit data...
blob.h Loading commit data...
bootstrap-test.ekam-rule Loading commit data...
c++.capnp Loading commit data...
c++.capnp.c++ Loading commit data...
c++.capnp.h Loading commit data...
capability-test.c++ Loading commit data...
capability.c++ Loading commit data...
capability.h Loading commit data...
capnpc.ekam-rule Loading commit data...
common-test.c++ Loading commit data...
common.h Loading commit data...
dynamic-capability.c++ Loading commit data...
dynamic-test.c++ Loading commit data...
dynamic.c++ Loading commit data...
dynamic.h Loading commit data...
encoding-test.c++ Loading commit data...
endian-fallback-test.c++ Loading commit data...
endian-reverse-test.c++ Loading commit data...
endian-test.c++ Loading commit data...
endian.h Loading commit data...
ez-rpc-test.c++ Loading commit data...
ez-rpc.c++ Loading commit data...
ez-rpc.h Loading commit data...
generated-header-support.h Loading commit data...
layout-test.c++ Loading commit data...
layout.c++ Loading commit data...
layout.h Loading commit data...
list.c++ Loading commit data...
list.h Loading commit data...
message-test.c++ Loading commit data...
message.c++ Loading commit data...
message.h Loading commit data...
orphan-test.c++ Loading commit data...
orphan.h Loading commit data...
pointer-helpers.h Loading commit data...
pretty-print.h Loading commit data...
rpc-prelude.h Loading commit data...
rpc-test.c++ Loading commit data...
rpc-twoparty-test.c++ Loading commit data...
rpc-twoparty.c++ Loading commit data...
rpc-twoparty.capnp Loading commit data...
rpc-twoparty.capnp.c++ Loading commit data...
rpc-twoparty.capnp.h Loading commit data...
rpc-twoparty.h Loading commit data...
rpc.c++ Loading commit data...
rpc.capnp Loading commit data...
rpc.capnp.c++ Loading commit data...
rpc.capnp.h Loading commit data...
rpc.h Loading commit data...
schema-loader-test.c++ Loading commit data...
schema-loader.c++ Loading commit data...
schema-loader.h Loading commit data...
schema-parser-test.c++ Loading commit data...
schema-parser.c++ Loading commit data...
schema-parser.h Loading commit data...
schema-test.c++ Loading commit data...
schema.c++ Loading commit data...
schema.capnp Loading commit data...
schema.capnp.c++ Loading commit data...
schema.capnp.h Loading commit data...
schema.h Loading commit data...
serialize-async-test.c++ Loading commit data...
serialize-async.c++ Loading commit data...
serialize-async.h Loading commit data...
serialize-packed-test.c++ Loading commit data...
serialize-packed.c++ Loading commit data...
serialize-packed.h Loading commit data...
serialize-test.c++ Loading commit data...
serialize.c++ Loading commit data...
serialize.h Loading commit data...
stringify-test.c++ Loading commit data...
stringify.c++ Loading commit data...
test-import.capnp Loading commit data...
test-import2.capnp Loading commit data...
test-util.c++ Loading commit data...
test-util.h Loading commit data...
test.capnp Loading commit data...