File: odr_main_test.cpp

package info (click to toggle)
boost1.74 1.74.0%2Bds1-21
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 463,588 kB
  • sloc: cpp: 3,338,117; xml: 131,293; python: 33,088; ansic: 14,292; asm: 4,038; sh: 3,353; makefile: 1,193; perl: 1,036; yacc: 478; php: 212; ruby: 102; lisp: 24; sql: 13; csh: 6
file content (21 lines) | stat: -rw-r--r-- 817 bytes parent folder | download | duplicates (14)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Copyright 2019 Henry Schreiner, Hans Dembinski
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt
// or copy at http://www.boost.org/LICENSE_1_0.txt)

/*
  For a header-only library, it is important to not accidentally violate the
  One-Definition-Rule (ODR), which causes linker errors. The ODR is violated
  when a non-templated function declared in a header is not inlined, and that
  header is then included in several translation units which are then linked
  together.

  We carry out this test by including all headers in two separate translation
  units which are then linked together. There is an additional test called
  check_odr_test.py which checks that "odr_test.cpp" includes all headers.
*/

#include "odr_test.cpp"

int main() { return 0; }