<|start_filename|>examples/test/passing.cpp<|end_filename|>
//
// Copyright (c) 2016 <NAME>
// All rights reserved.
//
// This file is part of Faber. It is made available under the
// Boost Software License, Version 1.0.
// (Consult LICENSE or http://www.boost.org/LICENSE_1_0.txt)

#include <iostream>

int main()
{
  return 0;
}


<|start_filename|>examples/package/greet.h<|end_filename|>
//
// Copyright (c) 2016 <NAME>
// All rights reserved.
//
// This file is part of Faber. It is made available under the
// Boost Software License, Version 1.0.
// (Consult LICENSE or http://www.boost.org/LICENSE_1_0.txt)

#ifndef greet_h_
#define greet_h_

#if (defined(_WIN32) || defined(__WIN32__) || defined(WIN32)) && !defined(__CYGWIN__)
#  if defined(GREET_EXPORTS)
#    define GREET_API __declspec(dllexport)
#  elif defined(GREET_IMPORTS)
#    define GREET_API __declspec(dllimport)
#  else
#    define GREET_API
#  endif
#else
#  define GREET_API
#endif

GREET_API void greet();

#endif


<|start_filename|>examples/package/greet.cpp<|end_filename|>
//
// Copyright (c) 2016 <NAME>
// All rights reserved.
//
// This file is part of Faber. It is made available under the
// Boost Software License, Version 1.0.
// (Consult LICENSE or http://www.boost.org/LICENSE_1_0.txt)

#include "greet.h"
#include <iostream>

GREET_API void greet()
{
  std::cout << "Hello!" << std::endl;
}


<|start_filename|>examples/config/main.cpp<|end_filename|>
//
// Copyright (c) 2016 <NAME>
// All rights reserved.
//
// This file is part of Faber. It is made available under the
// Boost Software License, Version 1.0.
// (Consult LICENSE or http://www.boost.org/LICENSE_1_0.txt)

#include <iostream>

#ifdef HAS_CXX11
# define cxx11 "defined"
#else
# define cxx11 "undefined"
#endif
#ifdef HAS_CXX14
# define cxx14 "defined"
#else
# define cxx14 "undefined"
#endif
#ifdef HAS_CXX17
# define cxx17 "defined"
#else
# define cxx17 "undefined"
#endif


int main()
{
    std::cout << "HAS_PYTHON=" << HAS_PYTHON << '\n'
	      << "HAS_CXX11 " << cxx11 << '\n'
	      << "HAS_CXX14 " << cxx14 << '\n'
	      << "HAS_CXX17 " << cxx17 << '\n'
	      << std::endl;
}


<|start_filename|>examples/python/greet.c<|end_filename|>
//
// Copyright (c) 2016 <NAME>
// All rights reserved.
//
// This file is part of Faber. It is made available under the
// Boost Software License, Version 1.0.
// (Consult LICENSE or http://www.boost.org/LICENSE_1_0.txt)

#include "Python.h"

static char const *greet() { return "Hello!";}

static PyObject *py_greet(PyObject *self, PyObject *args)
{
  if (!PyArg_ParseTuple(args, ":greet"))
    return NULL;
  return PyUnicode_FromString(greet());
}

static PyMethodDef methods[] =
{
  {"greet",  py_greet, METH_VARARGS, NULL},
  {NULL, NULL}      /* sentinel */
};

#if PY_MAJOR_VERSION >= 3

static struct PyModuleDef moduledef =
{
  PyModuleDef_HEAD_INIT,
  "greet",
  0, /* doc      */
  -1, //sizeof(struct module_state),
  methods,
  0, /* reload   */
  0, /* traverse */
  0, /* clear    */
  0  /* free     */
};

PyMODINIT_FUNC PyInit_greet()
#else
PyMODINIT_FUNC initgreet()
#endif
{
  PyObject *module;

#if PY_MAJOR_VERSION >= 3
  module = PyModule_Create(&moduledef);
  return module;
#else
  module = Py_InitModule("greet", methods);
#endif
}


<|start_filename|>examples/package/hello.cpp<|end_filename|>
//
// Copyright 2016 (c) <NAME>
//
// Distributed under the Boost Software License, Version 1.0.
// (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)

#include "greet.h"

int main()
{
  greet();
  return 0;
}


<|start_filename|>doc/_static/style.css<|end_filename|>
@import url(boost.css);

.header h1 a
{
  color: #00507f;
  font-size: 200%;
  font-style: italic; 
}
.header h3 { margin: 1px;}
#contents 
{ 
/*    border-bottom: solid thin black;*/
}
.footer p
{
  text-align: center;
  color: gray;
  font-style: italic;
}

.highlight
{
  border: 1px solid #dcdcdc;
  background-color: inherit;
  padding: 0 1em;
  margin: 0 5em;
}
#searchbox
{
  float: right;
  width: auto;
  margin: 0 2em;
}

.admonition-title { font-weight: bold;}
.toctree-wrapper,
#table-of-contents
{
  border: 1px solid #dcdcdc;
  padding: 1em;
  margin: 0 2em;
  display: inline-block;
}
.toctree-wrapper .caption,
.toctree-wrapper .topic-title,
#table-of-contents .topic-title { font-weight: bold;}

.admonition
{
  border: 1px solid #dcdcdc;
  padding: 1em;
  margin: 0 2em;
}

#command-line-interface col.option { min-width: 10em;}

body .content > .section { padding: 2em; }

.section h1
{
  font-size: 200%;
  color: #00507f;
}

.section h2
{
  font-size: 160%;
  color: #00507f;
}

/* builtin extension listings */

dl.feature, dl.tool, dl.action { margin-left: 1em;}
dl.feature *, dl.tool *, dl.action * { padding-left: 1em;}

dl.feature dt, dl.tool dt, dl.action dt 
{
  padding: 1em 0em;
  font-size: 150%;
  font-weight: bold;
}


<|start_filename|>examples/modular/hello.cpp<|end_filename|>
//
// Copyright (c) 2016 <NAME>
// All rights reserved.
//
// This file is part of Faber. It is made available under the
// Boost Software License, Version 1.0.
// (Consult LICENSE or http://www.boost.org/LICENSE_1_0.txt)

#include <greet.hpp>

int main(int, char **)
{
  greet();
}
