66
Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-192436635

Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1 1

Open Source Used In EFM C++Broker and SDK 1.1

Cisco Systems, Inc.www.cisco.com

Cisco has more than 200 offices worldwide.Addresses, phone numbers, and fax numbersare listed on the Cisco website atwww.cisco.com/go/offices.

Text Part Number: 78EE117C99-192436635

Page 2: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1 2

This document contains licenses and notices for open source software used in this product.

With respect to the free/open source software listed in this document, if you have any

questions or wish to receive a copy of any source code to which you may be entitled under

the applicable free/open source license(s) (such as the GNU Lesser/General Public License),

please contact us at [email protected].

In your requests please include the following reference number 78EE117C99-192436635

Contents

1.1 boost 1.69.0

1.1.1 Available under license

1.2 OpenSSL 1.0.2q

1.2.1 Available under license

1.3 RapidJSON 1.1.0

1.3.1 Available under license

1.4 zlib 1.2.11

1.4.1 Available under license

1.1 boost 1.69.0 1.1.1 Available under license :

[article Invalid copyright years

[quickbook 1.5]

[copyright 2010-2001 Timequake man]

]

/*

*

* Copyright (c) 2003 Dr John Maddock

* Use, modification and distribution is subject to 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)

*

*/

#include "licence_info.hpp"

#include "bcp_imp.hpp"

#include "fileview.hpp"

#include <fstream>

#include <iomanip>

Page 3: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1 3

#include <cstring>

#include <stdexcept>

#include <boost/lexical_cast.hpp>

#include <boost/filesystem/operations.hpp>

#include <boost/throw_exception.hpp>

//

// split_path is a small helper for outputting a path name,

// complete with a link to that path:

//

struct split_path

{

const fs::path& root;

const fs::path& file;

split_path(const fs::path& r, const fs::path& f)

: root(r), file(f){}

private:

split_path& operator=(const split_path&);

};

std::ostream& operator << (std::ostream& os, const split_path& p)

{

os << "<a href=\"" << (p.root / p.file).string() << "\">" << p.file.string() << "</a>";

return os;

}

std::string make_link_target(const std::string& s)

{

// convert an arbitrary string into something suitable

// for an <a> name:

std::string result;

for(unsigned i = 0; i < s.size(); ++i)

{

result.append(1, static_cast<std::string::value_type>(std::isalnum(s[i]) ? s[i] : '_'));

}

return result;

}

void bcp_implementation::output_license_info()

{

std::pair<const license_info*, int> licenses = get_licenses();

std::map<int, license_data>::const_iterator i, j;

i = m_license_data.begin();

j = m_license_data.end();

std::ofstream os(m_dest_path.string().c_str());

Page 4: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1 4

if(!os)

{

std::string msg("Error opening ");

msg += m_dest_path.string();

msg += " for output.";

std::runtime_error e(msg);

boost::throw_exception(e);

}

os <<

"<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">\n"

"<html>\n"

"<head>\n"

"<title>Boost Licence Dependency Information";

if(m_module_list.size() == 1)

{

os << " for " << *(m_module_list.begin());

}

os <<

"</title>\n"

"</head>\n"

"<body>\n"

"<H1>Boost Licence Dependency Information";

if(m_module_list.size() == 1)

{

os << " for " << *(m_module_list.begin());

}

os <<

"</H1>\n"

"<H2>Contents</h2>\n"

"<pre><a href=\"#input\">Input Information</a>\n";

if(!m_bsl_summary_mode)

os << "<a href=\"#summary\">Licence Summary</a>\n";

os << "<a href=\"#details\">Licence Details</a>\n";

while(i != j)

{

// title:

os << " <A href=\"#" << make_link_target(licenses.first[i->first].license_name)

<< "\">" << licenses.first[i->first].license_name << "</a>\n";

++i;

}

os << "<a href=\"#files\">Files with no recognised license</a>\n"

"<a href=\"#authors\">Files with no recognised copyright holder</a>\n";

if(!m_bsl_summary_mode)

{

os <<

"Moving to the Boost Software License...\n"

Page 5: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1 5

" <a href=\"#bsl-converted\">Files that can be automatically converted to the Boost Software License</a>\n"

" <a href=\"#to-bsl\">Files that can be manually converted to the Boost Software License</a>\n"

" <a href=\"#not-to-bsl\">Files that can <b>NOT</b> be moved to the Boost Software License</a>\n"

" <a href=\"#need-bsl-authors\">Authors we need to move to the Boost Software License</a>\n"

"<a href=\"#copyright\">Copyright Holder Information</a>\n";

}

os <<

"<a href=\"#depend\">File Dependency Information</a>\n"

"</pre>";

//

// input Information:

//

os << "<a name=\"input\"></a><h2>Input Information</h2>\n";

if(m_scan_mode)

os << "<P>The following files were scanned for boost dependencies:<BR>";

else

os << "<P>The following Boost modules were checked:<BR>";

std::list<std::string>::const_iterator si = m_module_list.begin();

std::list<std::string>::const_iterator sj = m_module_list.end();

while(si != sj)

{

os << *si << "<BR>";

++si;

}

os << "</p><p>The Boost path was: <code>" << m_boost_path.string() << "</code></P>";

//

// extract the boost version number from the boost directory tree,

// not from this app (which may have been built from a previous

// version):

//

fileview version_file(m_boost_path / "boost/version.hpp");

static const boost::regex version_regex(

"^[[:blank:]]*#[[:blank:]]*define[[:blank:]]+BOOST_VERSION[[:blank:]]+(\\d+)");

boost::cmatch what;

if(boost::regex_search(version_file.begin(), version_file.end(), what, version_regex))

{

int version = boost::lexical_cast<int>(what.str(1));

os << "<p>The Boost version is: " << version / 100000 << "." << version / 100 % 1000 << "." << version % 100

<< "</P>\n";

}

//

// output each license:

//

i = m_license_data.begin();

j = m_license_data.end();

Page 6: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1 6

if(!m_bsl_summary_mode)

{

//

// start with the summary:

//

os << "<a name=\"summary\"></a><h2>Licence Summary</h2>\n";

while(i != j)

{

// title:

os <<

"<H3>" << licenses.first[i->first].license_name << "</H3>\n";

// license text:

os << "<BLOCKQUOTE>" << licenses.first[i->first].license_text << "</BLOCKQUOTE>";

// Copyright holders:

os << "<P>This license is used by " << i->second.authors.size()

<< " authors and " << i->second.files.size()

<< " files <a href=\"#" << make_link_target(licenses.first[i->first].license_name) << "\">(see details)</a>";

os << "</P></BLOCKQUOTE>\n";

++i;

}

}

//

// and now the details:

//

i = m_license_data.begin();

j = m_license_data.end();

int license_index = 0;

os << "<a name=\"details\"></a><h2>Licence Details</h2>\n";

while(i != j)

{

// title:

os <<

"<H3><A name=\"" << make_link_target(licenses.first[i->first].license_name)

<< "\"></a>" << licenses.first[i->first].license_name << "</H3>\n";

// license text:

os << "<BLOCKQUOTE>" << licenses.first[i->first].license_text << "</BLOCKQUOTE>";

if(!m_bsl_summary_mode || (license_index >= 3))

{

// Copyright holders:

os << "<P>This license is used by the following " << i->second.authors.size() << " copyright

holders:</P>\n<BLOCKQUOTE><P>";

std::set<std::string>::const_iterator x, y;

x = i->second.authors.begin();

y = i->second.authors.end();

while(x != y)

{

os << *x << "<BR>\n";

++x;

Page 7: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1 7

}

os << "</P></BLOCKQUOTE>\n";

// Files using this license:

os << "<P>This license applies to the following " << i->second.files.size() << "

files:</P>\n<BLOCKQUOTE><P>";

std::set<fs::path, path_less>::const_iterator m, n;

m = i->second.files.begin();

n = i->second.files.end();

while(m != n)

{

os << split_path(m_boost_path, *m) << "<br>\n";

++m;

}

os << "</P></BLOCKQUOTE>\n";

}

else

{

os << "<P>This license is used by " << i->second.authors.size() << " authors (list omitted for brevity).</P>\n";

os << "<P>This license applies to " << i->second.files.size() << " files (list omitted for brevity).</P>\n";

}

++license_index;

++i;

}

//

// Output list of files not found to be under license control:

//

os << "<h2><a name=\"files\"></a>Files With No Recognisable Licence</h2>\n"

"<P>The following " << m_unknown_licenses.size() << " files had no recognisable license

information:</P><BLOCKQUOTE><P>\n";

std::set<fs::path, path_less>::const_iterator i2, j2;

i2 = m_unknown_licenses.begin();

j2 = m_unknown_licenses.end();

while(i2 != j2)

{

os << split_path(m_boost_path, *i2) << "<br>\n";

++i2;

}

os << "</p></BLOCKQUOTE>";

//

// Output list of files with no found copyright holder:

//

os << "<h2><a name=\"authors\"></a>Files With No Recognisable Copyright Holder</h2>\n"

"<P>The following " << m_unknown_authors.size() << " files had no recognisable copyright

holder:</P>\n<BLOCKQUOTE><P>";

i2 = m_unknown_authors.begin();

j2 = m_unknown_authors.end();

while(i2 != j2)

{

Page 8: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1 8

os << split_path(m_boost_path, *i2) << "<br>\n";

++i2;

}

os << "</p></BLOCKQUOTE>";

if(!m_bsl_summary_mode)

{

//

// Output list of files that have been moved over to the Boost

// Software License, along with enough information for human

// verification.

//

os << "<h2><a name=\"bsl-converted\"></a>Files that can be automatically converted to the Boost Software

License</h2>\n"

<< "<P>The following " << m_converted_to_bsl.size() << " files can be automatically converted to the Boost

Software License, but require manual verification before they can be committed to CVS:</P>\n";

if (!m_converted_to_bsl.empty())

{

typedef std::map<fs::path, std::pair<std::string, std::string>, path_less>

::const_iterator conv_iterator;

conv_iterator i = m_converted_to_bsl.begin(),

ie = m_converted_to_bsl.end();

int file_num = 1;

while (i != ie)

{

os << "<P>[" << file_num << "] File: <tt>" << split_path(m_boost_path, i->first)

<< "</tt><br>\n<table border=\"1\">\n <tr>\n <td><pre>"

<< i->second.first << "</pre></td>\n <td><pre>"

<< i->second.second << "</pre></td>\n </tr>\n</table>\n";

++i;

++file_num;

}

}

//

// Output list of files that could be moved over to the Boost Software License

//

os << "<h2><a name=\"to-bsl\"></a>Files that could be converted to the Boost Software License</h2>\n"

"<P>The following " << m_can_migrate_to_bsl.size() << " files could be manually converted to the Boost

Software License, but have not yet been:</P>\n<BLOCKQUOTE><P>";

i2 = m_can_migrate_to_bsl.begin();

j2 = m_can_migrate_to_bsl.end();

while(i2 != j2)

{

os << split_path(m_boost_path, *i2) << "<br>\n";

++i2;

}

os << "</p></BLOCKQUOTE>";

//

// Output list of files that can not be moved over to the Boost Software License

Page 9: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1 9

//

os << "<h2><a name=\"not-to-bsl\"></a>Files that can NOT be converted to the Boost Software

License</h2>\n"

"<P>The following " << m_cannot_migrate_to_bsl.size() << " files cannot be converted to the Boost Software

License because we need the permission of more authors:</P>\n<BLOCKQUOTE><P>";

i2 = m_cannot_migrate_to_bsl.begin();

j2 = m_cannot_migrate_to_bsl.end();

while(i2 != j2)

{

os << split_path(m_boost_path, *i2) << "<br>\n";

++i2;

}

os << "</p></BLOCKQUOTE>";

//

// Output list of authors that we need permission for to move to the BSL

//

os << "<h2><a name=\"need-bsl-authors\"></a>Authors we need for the BSL</h2>\n"

"<P>Permission of the following authors is needed before we can convert to the Boost Software License. The

list of authors that have given their permission is contained in <code>more/blanket-

permission.txt</code>.</P>\n<BLOCKQUOTE><P>";

std::copy(m_authors_for_bsl_migration.begin(), m_authors_for_bsl_migration.end(),

std::ostream_iterator<std::string>(os, "<br>\n"));

os << "</p></BLOCKQUOTE>";

//

// output a table of copyright information:

//

os << "<H2><a name=\"copyright\"></a>Copyright Holder Information</H2><table border=\"1\">\n";

std::map<std::string, std::set<fs::path, path_less> >::const_iterator ad, ead;

ad = m_author_data.begin();

ead = m_author_data.end();

while(ad != ead)

{

os << "<tr><td>" << ad->first << "</td><td>";

std::set<fs::path, path_less>::const_iterator fi, efi;

fi = ad->second.begin();

efi = ad->second.end();

while(fi != efi)

{

os << split_path(m_boost_path, *fi) << " ";

++fi;

}

os << "</td></tr>\n";

++ad;

}

os << "</table>\n";

}

//

Page 10: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

10

// output file dependency information:

//

os << "<H2><a name=\"depend\"></a>File Dependency Information</H2><BLOCKQUOTE><pre>\n";

std::map<fs::path, fs::path, path_less>::const_iterator dep, last_dep;

std::set<fs::path, path_less>::const_iterator fi, efi;

fi = m_copy_paths.begin();

efi = m_copy_paths.end();

// if in summary mode, just figure out the "bad" files and print those only:

std::set<fs::path, path_less> bad_paths;

if(m_bsl_summary_mode)

{

bad_paths.insert(m_unknown_licenses.begin(), m_unknown_licenses.end());

bad_paths.insert(m_unknown_authors.begin(), m_unknown_authors.end());

bad_paths.insert(m_can_migrate_to_bsl.begin(), m_can_migrate_to_bsl.end());

bad_paths.insert(m_cannot_migrate_to_bsl.begin(), m_cannot_migrate_to_bsl.end());

typedef std::map<fs::path, std::pair<std::string, std::string>, path_less>

::const_iterator conv_iterator;

conv_iterator i = m_converted_to_bsl.begin(),

ie = m_converted_to_bsl.end();

while(i != ie)

{

bad_paths.insert(i->first);

++i;

}

fi = bad_paths.begin();

efi = bad_paths.end();

os << "<P>For brevity, only files not under the BSL are shown</P>\n";

}

while(fi != efi)

{

os << split_path(m_boost_path, *fi);

dep = m_dependencies.find(*fi);

last_dep = m_dependencies.end();

std::set<fs::path, path_less> seen_deps;

if (dep != last_dep)

while(true)

{

os << " -> ";

if(fs::exists(m_boost_path / dep->second))

os << split_path(m_boost_path, dep->second);

else if(fs::exists(dep->second))

os << split_path(fs::path(), dep->second);

else

os << dep->second.string();

if(seen_deps.find(dep->second) != seen_deps.end())

{

os << " <I>(Circular dependency!)</I>";

break; // circular dependency!!!

Page 11: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

11

}

seen_deps.insert(dep->second);

last_dep = dep;

dep = m_dependencies.find(dep->second);

if((dep == m_dependencies.end()) || (0 == compare_paths(dep->second, last_dep->second)))

break;

}

os << "\n";

++fi;

}

os << "</pre></BLOCKQUOTE>\n";

os << "</body></html>\n";

if(!os)

{

std::string msg("Error writing to ");

msg += m_dest_path.string();

msg += ".";

std::runtime_error e(msg);

boost::throw_exception(e);

}

}

Software License, Version 1.0

Copyright 2002-2003, Trustees of Indiana University.

Copyright 2000-2001, University of Notre Dame.

All rights reserved.

Indiana University has the exclusive rights to license this product under the

following license.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions are met:

* All redistributions of source code must retain the above copyright notice,

the list of authors in the original source code, this list of conditions

and the disclaimer listed in this license;

* All redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the disclaimer listed in this license

in the documentation and/or other materials provided with the distribution;

* Any documentation included with all redistributions must include the

following acknowledgement:

"This product includes software developed at the University of Notre Dame

Page 12: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

12

and the Pervasive Technology Labs at Indiana University. For technical

information contact Andrew Lumsdaine at the Pervasive Technology Labs at

Indiana University. For administrative and license questions contact the

Advanced Research and Technology Institute at 351 West 10th Street.

Indianapolis, Indiana 46202, phone 317-278-4100, fax 317-274-5902."

Alternatively, this acknowledgement may appear in the software itself, and

wherever such third-party acknowledgments normally appear.

* The name Indiana University, the University of Notre Dame or "Caramel"

shall not be used to endorse or promote products derived from this software

without prior written permission from Indiana University. For written

permission, please contact Indiana University Advanced Research &

Technology Institute.

* Products derived from this software may not be called "Caramel", nor may

Indiana University, the University of Notre Dame or "Caramel" appear in

their name, without prior written permission of Indiana University Advanced

Research & Technology Institute.

Indiana University provides no reassurances that the source code provided does

not infringe the patent or any other intellectual property rights of any other

entity. Indiana University disclaims any liability to any recipient for claims

brought by any other entity based on infringement of intellectual property

rights or otherwise.

LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH NO WARRANTIES

AS TO CAPABILITIES OR ACCURACY ARE MADE. INDIANA UNIVERSITY GIVES NO WARRANTIES

AND MAKES NO REPRESENTATION THAT SOFTWARE IS FREE OF INFRINGEMENT OF THIRD

PARTY PATENT, COPYRIGHT, OR OTHER PROPRIETARY RIGHTS. INDIANA UNIVERSITY MAKES

NO WARRANTIES THAT SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES",

"TRAP DOORS", "WORMS", OR OTHER HARMFUL CODE. LICENSEE ASSUMES THE ENTIRE RISK

AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS, AND TO THE

PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING SOFTWARE.

This package was debianized by Vladimir Prus <[email protected]> on

Wed, 17 July 2002, 19:27:00 +0400.

Copyright:

/+\

+\Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.

\+/

This is Release 2.4 of Jam/MR, a make-like program.

License is hereby granted to use this software and distribute it

freely, as long as this copyright notice is retained and modifications

are clearly marked.

Page 13: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

13

ALL WARRANTIES ARE HEREBY DISCLAIMED.

Some portions are also:

Copyright 2001-2006 David Abrahams.

Copyright 2002-2006 Rene Rivera.

Copyright 2003-2006 Vladimir Prus.

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)

This is an attempt to acknowledge early contributions to the garbage

collector. Later contributions should instead be mentioned in

README.changes.

HISTORY -

Early versions of this collector were developed as a part of research

projects supported in part by the National Science Foundation

and the Defense Advance Research Projects Agency.

The garbage collector originated as part of the run-time system for

the Russell programming language implementation. The first version of the

garbage collector was written primarily by Al Demers. It was then refined

and mostly rewritten, primarily by Hans-J. Boehm, at Cornell U.,

the University of Washington, Rice University (where it was first used for

C and assembly code), Xerox PARC, SGI, and HP Labs. However, significant

contributions have also been made by many others.

Some other contributors:

More recent contributors are mentioned in the modification history in

README.changes. My apologies for any omissions.

The SPARC specific code was originally contributed by Mark Weiser.

The Encore Multimax modifications were supplied by

Kevin Kenny ([email protected]). The adaptation to the IBM PC/RT is largely

due to Vernon Lee, on machines made available to Rice by IBM.

Much of the HP specific code and a number of good suggestions for improving the

generic code are due to Walter Underwood.

Robert Brazile ([email protected]) originally supplied the ULTRIX code.

Al Dosser ([email protected]) and Regis Cridlig ([email protected])

subsequently provided updates and information on variation between ULTRIX

systems. Parag Patel ([email protected]) supplied the A/UX code.

Jesper Peterson([email protected]), Michel Schinz, and

Martin Tauchmann ([email protected]) supplied the Amiga port.

Thomas Funke ([email protected](?)) and

Brian D.Carlstrom ([email protected]) supplied the NeXT ports.

Page 14: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

14

Douglas Steel ([email protected]) provided ICL DRS6000 code.

Bill Janssen ([email protected]) supplied the SunOS dynamic loader

specific code. Manuel Serrano ([email protected]) supplied linux and

Sony News specific code. Al Dosser provided Alpha/OSF/1 code. He and

Dave Detlefs([email protected]) also provided several generic bug fixes.

Alistair G. Crooks([email protected]) supplied the NetBSD and 386BSD ports.

Jeffrey Hsu ([email protected]) provided the FreeBSD port.

Brent Benson ([email protected]) ported the collector to

a Motorola 88K processor running CX/UX (Harris NightHawk).

Ari Huttunen ([email protected]) generalized the OS/2 port to

nonIBM development environments (a nontrivial task).

Patrick Beard ([email protected]) provided the initial MacOS port.

David Chase, then at Olivetti Research, suggested several improvements.

Scott Schwartz ([email protected]) supplied some of the

code to save and print call stacks for leak detection on a SPARC.

Jesse Hull and John Ellis supplied the C++ interface code.

Zhong Shao performed much of the experimentation that led to the

current typed allocation facility. (His dynamic type inference code hasn't

made it into the released version of the collector, yet.)

Copyright Paul Fultz II 2016-2018

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the "Software") to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:

The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

DEALINGS IN THE SOFTWARE.

<!-- Copyright 2018 Paul Fultz II

Distributed under the Boost Software License, Version 1.0.

(http://www.boost.org/LICENSE_1_0.txt)

-->

Page 15: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

15

License

=======

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the "Software") to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:

The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the "Software") to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:

The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

Page 16: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

16

DEALINGS IN THE SOFTWARE.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title><no title> &#8212; Boost.HigherOrderFunctions 0.6 documentation</title>

<link rel="stylesheet" href="_static/boostbook.css" type="text/css" />

<link rel="stylesheet" href="_static/pygments.css" type="text/css" />

<script type="text/javascript">

var DOCUMENTATION_OPTIONS = {

URL_ROOT: './',

VERSION: '0.6',

COLLAPSE_INDEX: false,

FILE_SUFFIX: '.html',

HAS_SOURCE: true,

SOURCELINK_SUFFIX: '.txt'

};

</script>

<script type="text/javascript" src="_static/jquery.js"></script>

<script type="text/javascript" src="_static/underscore.js"></script>

<script type="text/javascript" src="_static/doctools.js"></script>

<link rel="index" title="Index" href="genindex.html" />

<link rel="search" title="Search" href="search.html" />

</head>

<body role="document">

<table cellpadding="2" width="100%"><tr>

<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86"src="_static/boost.png"></td>

</tr></table>

<div class="spirit-nav">

<a accesskey="p" ><img src="_static/prev.png" alt="Prev"></a>

<a accesskey="u" href="doc/index.html"><img src="_static/up.png" alt="Up"></a>

<a accesskey="h" href="doc/index.html"><img src="_static/home.png" alt="Home"></a>

<a accesskey="n" ><img src="_static/next.png" alt="Next"></a>

</div>

<div class="document">

<div class="chapter">

<div class="body" role="main">

<p>Copyright Paul Fultz II 2016-2018</p>

Page 17: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

17

<p>Boost Software License - Version 1.0 - August 17th, 2003</p>

<p>Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the &#8220;Software&#8221;) to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:</p>

<p>The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.</p>

<p>THE SOFTWARE IS PROVIDED &#8220;AS IS&#8221;, WITHOUT WARRANTY OF ANY KIND,

EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

DEALINGS IN THE SOFTWARE.</p>

</div>

</div>

<div class="clearer"></div>

</div>

<div class="footer" role="contentinfo">

<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

<td align="left"></td>

<td align="right"><div class="copyright-footer">

&#169; Copyright 2016, Paul Fultz II.

Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.

<p>Distributed under the Boost Software License, Version 1.0.

(See accompanying file <code class="filename">LICENSE_1_0.txt</code> or copy at

<a href="http://www.boost.org/LICENSE_1_0.txt"

target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)

</p>

</div></td>

</tr></table>

</div>

</body>

</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Page 18: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

18

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>License &#8212; Boost.HigherOrderFunctions 0.6 documentation</title>

<link rel="stylesheet" href="../../_static/boostbook.css" type="text/css" />

<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />

<script type="text/javascript">

var DOCUMENTATION_OPTIONS = {

URL_ROOT: '../../',

VERSION: '0.6',

COLLAPSE_INDEX: false,

FILE_SUFFIX: '.html',

HAS_SOURCE: true,

SOURCELINK_SUFFIX: '.txt'

};

</script>

<script type="text/javascript" src="../../_static/jquery.js"></script>

<script type="text/javascript" src="../../_static/underscore.js"></script>

<script type="text/javascript" src="../../_static/doctools.js"></script>

<link rel="index" title="Index" href="../../genindex.html" />

<link rel="search" title="Search" href="../../search.html" />

<link rel="prev" title="Acknowledgements" href="acknowledgements.html" />

</head>

<body role="document">

<table cellpadding="2" width="100%"><tr>

<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86"src="../../_static/boost.png"></td>

</tr></table>

<div class="spirit-nav">

<a accesskey="p" href="acknowledgements.html"><img src="../../_static/prev.png" alt="Prev"></a>

<a accesskey="u" href="../index.html"><img src="../../_static/up.png" alt="Up"></a>

<a accesskey="h" href="../index.html"><img src="../../_static/home.png" alt="Home"></a>

<a accesskey="n" ><img src="../../_static/next.png" alt="Next"></a>

</div>

<div class="document">

<div class="chapter">

<div class="body" role="main">

<!-- Copyright 2018 Paul Fultz II

Distributed under the Boost Software License, Version 1.0.

(http://www.boost.org/LICENSE_1_0.txt)

--><div class="section" id="license">

<h1>License<a class="headerlink" href="#license" title="Permalink to this headline"></a></h1>

Page 19: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

19

<p>Boost Software License - Version 1.0 - August 17th, 2003</p>

<p>Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the &#8220;Software&#8221;) to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:</p>

<p>The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.</p>

<p>THE SOFTWARE IS PROVIDED &#8220;AS IS&#8221;, WITHOUT WARRANTY OF ANY KIND,

EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</p>

</div>

</div>

</div>

<div class="clearer"></div>

</div>

<div class="footer" role="contentinfo">

<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

<td align="left"></td>

<td align="right"><div class="copyright-footer">

&#169; Copyright 2016, Paul Fultz II.

Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.

<p>Distributed under the Boost Software License, Version 1.0.

(See accompanying file <code class="filename">LICENSE_1_0.txt</code> or copy at

<a href="http://www.boost.org/LICENSE_1_0.txt"

target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)

</p>

</div></td>

</tr></table>

</div>

</body>

</html>

http_parser.c is based on src/http/ngx_http_parse.c from NGINX copyright

Igor Sysoev.

Additional changes are licensed under the same terms as NGINX and

Page 20: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

20

copyright Joyent, Inc. and other Node contributors. All rights reserved.

Permission is hereby granted, free of charge, to any person obtaining a copy

of this software and associated documentation files (the "Software"), to

deal in the Software without restriction, including without limitation the

rights to use, copy, modify, merge, publish, distribute, sublicense, and/or

sell copies of the Software, and to permit persons to whom the Software is

furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in

all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE

AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING

FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS

IN THE SOFTWARE.

// Copyright Louis Dionne 2013-2017

// Distributed under the Boost Software License, Version 1.0.

// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)

#include <boost/mpl/push_back.hpp>

#include <boost/mpl/quote.hpp>

#include <boost/mpl/transform.hpp>

#include <boost/mpl/vector.hpp>

template <typename X>

struct f { using type = X; };

template <int i>

struct t { };

using vector = <%= mpl_vector((1..input_size).to_a.map { |n| "t<#{n}>" }) %>;

using result = boost::mpl::transform<vector, boost::mpl::quote1<f>>::type;

int main() { }

// Copyright Louis Dionne 2013-2017

// Distributed under the Boost Software License, Version 1.0.

// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)

#include <boost/mpl/push_back.hpp>

#include <boost/mpl/vector.hpp>

Page 21: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

21

template <int i>

struct t { };

using vector = <%= mpl_vector((1..input_size).to_a.map { |n| "t<#{n}>" }) %>;

int main() { }

// Copyright Louis Dionne 2013-2017

// Distributed under the Boost Software License, Version 1.0.

// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)

#include <boost/mpl/fold.hpp>

#include <boost/mpl/push_back.hpp>

#include <boost/mpl/quote.hpp>

#include <boost/mpl/vector.hpp>

template <typename State, typename X>

struct f { using type = X; };

struct state { };

template <int i>

struct t { };

using vector = <%= mpl_vector((1..input_size).to_a.map { |n| "t<#{n}>" }) %>;

using result = boost::mpl::fold<vector, state, boost::mpl::quote2<f>>::type;

int main() { }

Copyright Louis Dionne 2013-2017

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the "Software") to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:

The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.

Page 22: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

22

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

DEALINGS IN THE SOFTWARE.

<!--

Copyright Louis Dionne 2013-2017

Distributed under the Boost Software License, Version 1.0.

(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)

-->

<!-- boost-no-inspect -->

<!-- HTML header for doxygen 1.8.9.1-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>

<meta http-equiv="X-UA-Compatible" content="IE=9"/>

<meta name="generator" content="Doxygen 1.8.11"/>

<title>Boost.Hana: Boost.MPL adapters</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript" src="dynsections.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>

<script type="text/javascript" src="resize.js"></script>

<script type="text/javascript" src="navtreedata.js"></script>

<script type="text/javascript" src="navtree.js"></script>

<script type="text/javascript">

$(document).ready(initResizable);

$(window).load(resizeHeight);

</script>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<script type="text/javascript" src="search/searchdata.js"></script>

<script type="text/javascript" src="search/search.js"></script>

<script type="text/javascript">

$(document).ready(function() { init_search(); });

</script>

<script type="text/x-mathjax-config">

MathJax.Hub.Config({

extensions: ["tex2jax.js"],

jax: ["input/TeX","output/HTML-CSS"],

});

// Copyright Louis Dionne 2013-2017

// Distributed under the Boost Software License, Version 1.0.

// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)

Page 23: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

23

MathJax.Hub.Config({

"HTML-CSS": {

linebreaks: {

automatic: true,

width: "75% container"

}

}

});

</script><script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>

<link href="doxygen.css" rel="stylesheet" type="text/css" />

<!-- Additional javascript for drawing charts. -->

<script type="text/javascript" src="highcharts.js"></script>

<script type="text/javascript" src="highcharts-data.js"></script>

<script type="text/javascript" src="highcharts-exporting.js"></script>

<script type="text/javascript" src="chart.js"></script>

<script type="text/javascript" src="hana.js"></script>

</head>

<body>

<div id="top"><!-- do not remove this div, it is closed by doxygen! -->

<div id="titlearea">

<table cellspacing="0" cellpadding="0">

<tbody>

<tr style="height: 56px;">

<td id="projectlogo"><img alt="Logo" src="Boost.png"/></td>

<td style="padding-left: 0.5em;">

<div id="projectname">Boost.Hana

&#160;<span id="projectnumber">1.5.0</span>

</div>

<div id="projectbrief">Your standard library for metaprogramming</div>

</td>

<td> <div id="MSearchBox" class="MSearchBoxInactive">

<span class="left">

<img id="MSearchSelect" src="search/mag_sel.png"

onmouseover="return searchBox.OnSearchSelectShow()"

onmouseout="return searchBox.OnSearchSelectHide()"

alt=""/>

<input type="text" id="MSearchField" value="Search" accesskey="S"

onfocus="searchBox.OnSearchFieldFocus(true)"

onblur="searchBox.OnSearchFieldFocus(false)"

onkeyup="searchBox.OnSearchFieldChange(event)"/>

</span><span class="right">

<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg"

border="0" src="search/close.png" alt=""/></a>

</span>

</div>

</td>

</tr>

</tbody>

Page 24: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

24

</table>

</div>

<!-- end header part -->

<!-- Generated by Doxygen 1.8.11 -->

<script type="text/javascript">

var searchBox = new SearchBox("searchBox", "search",false,'Search');

</script>

</div><!-- top -->

<div id="side-nav" class="ui-resizable side-nav-resizable">

<div id="nav-tree">

<div id="nav-tree-contents">

<div id="nav-sync" class="sync"></div>

</div>

</div>

<div id="splitbar" style="-moz-user-select:none;"

class="ui-resizable-handle">

</div>

</div>

<script type="text/javascript">

$(document).ready(function(){initNavTree('group__group-ext-mpl.html','');});

</script>

<div id="doc-content">

<!-- window showing the filter options -->

<div id="MSearchSelectWindow"

onmouseover="return searchBox.OnSearchSelectShow()"

onmouseout="return searchBox.OnSearchSelectHide()"

onkeydown="return searchBox.OnSearchSelectKey(event)">

</div>

<!-- iframe showing the search results (closed by default) -->

<div id="MSearchResultsWindow">

<iframe src="javascript:void(0)" frameborder="0"

name="MSearchResults" id="MSearchResults">

</iframe>

</div>

<div class="header">

<div class="summary">

<a href="#nested-classes">Classes</a> </div>

<div class="headertitle">

<div class="title">Boost.MPL adapters<div class="ingroups"><a class="el" href="group__group-

ext.html">External adapters</a></div></div> </div>

</div><!--header-->

<div class="contents">

<a name="details" id="details"></a><h2 class="groupheader">Description</h2>

<p>Adapters for Boost.MPL containers. </p>

<table class="memberdecls">

<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>

Page 25: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

25

Classes</h2></td></tr>

<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td

class="memItemRight" valign="bottom"><a class="el"

href="structboost_1_1mpl_1_1integral__c.html">boost::mpl::integral_c< T, v ></a></td></tr>

<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adapter for IntegralConstants

from the Boost.MPL. <a href="structboost_1_1mpl_1_1integral__c.html#details">More...</a><br /></td></tr>

<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>

<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td

class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1mpl_1_1list.html">boost::mpl::list< T

></a></td></tr>

<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adapter for Boost.MPL lists.

<a href="structboost_1_1mpl_1_1list.html#details">More...</a><br /></td></tr>

<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>

<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td

class="memItemRight" valign="bottom"><a class="el"

href="structboost_1_1mpl_1_1vector.html">boost::mpl::vector< T ></a></td></tr>

<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adapter for Boost.MPL

vectors. <a href="structboost_1_1mpl_1_1vector.html#details">More...</a><br /></td></tr>

<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>

</table>

</div><!-- contents -->

</div><!-- doc-content -->

<!--

Copyright Louis Dionne 2013-2017

Distributed under the Boost Software License, Version 1.0.

(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)

-->

<!-- boost-no-inspect -->

<!-- HTML footer for doxygen 1.8.9.1-->

<!-- start footer part -->

<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->

<ul>

</ul>

</div>

</body>

</html>

var group__group_ext_mpl =

[

[ "integral_c", "structboost_1_1mpl_1_1integral__c.html", null ],

[ "list", "structboost_1_1mpl_1_1list.html", null ],

[ "vector", "structboost_1_1mpl_1_1vector.html", null ]

];

The MIT License (MIT)

Copyright (c) 2014 fqiang

Permission is hereby granted, free of charge, to any person obtaining a copy

of this software and associated documentation files (the "Software"), to deal

Page 26: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

26

in the Software without restriction, including without limitation the rights

to use, copy, modify, merge, publish, distribute, sublicense, and/or sell

copies of the Software, and to permit persons to whom the Software is

furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all

copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE

AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE

SOFTWARE.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE article PUBLIC "-//Boost//DTD BoostBook XML V1.0//EN"

"http://www.boost.org/tools/boostbook/dtd/boostbook.dtd">

<article id="copyright_test" last-revision="DEBUG MODE Date: 2000/12/20 12:00:00 $"

xmlns:xi="http://www.w3.org/2001/XInclude">

<title>Copyright Test</title>

<articleinfo>

<copyright>

<year>1963</year> <year>1964</year> <year>1965</year> <holder>Jane Doe</holder>

</copyright>

<copyright>

<year>2018</year> <holder>Joe Blow, John Coe</holder>

</copyright>

<copyright>

<year>1977</year> <year>1985</year> <holder>Someone else</holder>

</copyright>

</articleinfo>

</article>

#!/usr/bin/env python

from subprocess import check_output as run

from datetime import datetime

from itertools import groupby

from operator import itemgetter

import re

import magic

def authors(filename):

log = run(['git', 'log', '--follow',

'--date=short','--format=%aN%x09%ad', filename],

universal_newlines=True)

for line in log.splitlines():

author, date = line.split('\t')

if author != 'fix-copyright.py':

Page 27: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

27

yield author, datetime.strptime(date, '%Y-%m-%d')

def new_copyright(filename, previous):

def f():

au = list(authors(filename))

alldates = map(itemgetter(1), au)

aup = sorted(au + map(lambda a: (a, None), previous), key=itemgetter(0))

for author, records in groupby(aup, itemgetter(0)):

dates = filter(None, map(itemgetter(1), records))

if not dates: dates = alldates

start = min(dates)

end = max(dates)

fmt = '{0}' if start.year == end.year else '{0}-{1}'

line = 'Copyright ' + fmt.format(start.year, end.year) + ' ' + author

key = (start, author)

yield key, line

return map(itemgetter(1), sorted(f()))

def fix_copyright(filename):

# Find copyright block in original file

prefix = set()

names = []

lines = []

with open(filename, 'r') as f:

content = list(f)

for i, line in enumerate(content[:15]):

m = re.match(r'^(?P<prefix>\W*)(\(c\))?\s*?copyright\s*(\(c\))?\s+\d{4}(\s*-\s*\d{4})?\s+(?P<name>.+?)\s*$',

line, re.IGNORECASE)

if m:

d = m.groupdict()

prefix.add(d['prefix'])

lines.append(i)

names.append(d['name'].strip())

if len(prefix) != 1:

print 'Not found:', filename

return

prefix = list(prefix)[0]

print filename

new = iter(new_copyright(filename, names))

with open(filename, 'w') as f:

for i, line in enumerate(content):

if i in lines:

for repl in new:

print >>f, prefix + repl

else:

print >>f, line,

pass

Page 28: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

28

def all_files():

ls = run(['git', 'ls-files'], universal_newlines=True)

for filename in ls.splitlines():

if magic.from_file(filename, mime=True).split('/')[0] == 'text':

yield filename

for f in all_files():

fix_copyright(f)

[/============================================================================

Boost.Geometry (aka GGL, Generic Geometry Library)

Copyright (c) 2007-2013 Barend Gehrels, Amsterdam, the Netherlands.

Copyright (c) 2008-2013 Bruno Lalande, Paris, France.

Copyright (c) 2009-2013 Mateusz Loskot, London, UK.

Use, modification and distribution is subject to 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)

=============================================================================/]

Use of this software is granted under one of the following two licenses,

to be chosen freely by the user.

1. Boost Software License - Version 1.0 - August 17th, 2003

===============================================================================

Copyright (c) 2006, 2007 Marcin Kalicinski

Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the "Software") to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:

The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

Page 29: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

29

DEALINGS IN THE SOFTWARE.

2. The MIT License

===============================================================================

Copyright (c) 2006, 2007 Marcin Kalicinski

Permission is hereby granted, free of charge, to any person obtaining a copy

of this software and associated documentation files (the "Software"), to deal

in the Software without restriction, including without limitation the rights

to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies

of the Software, and to permit persons to whom the Software is furnished to do so,

subject to the following conditions:

The above copyright notice and this permission notice shall be included in all

copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL

THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS

IN THE SOFTWARE.

===========================================================================

Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands.

Copyright (c) 2008-2011 Bruno Lalande, Paris, France.

Copyright (c) 2009-2011 Mateusz Loskot, London, UK.

Use, modification and distribution is subject to 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)

============================================================================

The default copyright note for C++ source files reads:

// Boost.Geometry (aka GGL, Generic Geometry Library)

// Copyright (c) 2007-2011 Barend Gehrels, Amsterdam, the Netherlands.

// Copyright (c) 2008-2011 Bruno Lalande, Paris, France.

// Copyright (c) 2009-2011 Mateusz Loskot, London, UK.

// Parts of Boost.Geometry are redesigned from Geodan's Geographic Library

// (geolib/GGL), copyright (c) 1995-2010 Geodan, Amsterdam, the Netherlands.

// Use, modification and distribution is subject to 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)

Page 30: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

30

Exceptions:

1) Major work of any author -> might change order, change date

2) Exclusive work of one author including design -> might take sole copyright

Examples:

- adapted geometry types e.g. array, Boost.Polygon

- implemented file-format e.g. WKB

- implemented specific strategy or algorithm e.g. intersections

3) Examples -> might take sole copyright

4) Tests -> might take sole copyright

5) Docs -> might take sole copyright

6) Utilities e.g. converters -> might take sole copyright

The copyright note for other (source) files as .py, Jamfiles, etc is similar

and comments are changed accordingly.

Copyright 2015-2016 Barrett Adair

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the "Software") to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:

The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

DEALINGS IN THE SOFTWARE.

<?xml version="1.0" encoding="utf-8"?>

<!-- Copyright (c) 2001-2006 CrystalClear Software, Inc.

Subject to the Boost Software License, Version 1.0.

(See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt)

-->

Page 31: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

31

<section id="date_time.license">

<title>Boost Date-Time Library License</title>

<bridgehead renderas="sect2">Boost Date-Time Library License</bridgehead>

<!--

<ulink url="../../../index.htm">

<imagedata align="left"

format="GIF"

fileref="../../../boost.png"

alt="C++ Boost" />

</ulink>-->

<!--hr /-->

<para>

The following is the overall license for the boost date_time

library. This notice is found in all source files related to the

library.

</para>

<para>

Copyright &#169; 2002 CrystalClear Software, Inc.

</para>

<para>

Permission to use, copy, modify, distribute and sell this software

and its documentation for any purpose is hereby granted without

fee, provided that the above copyright notice appear in all copies

and that both that copyright notice and this permission notice

appear in supporting documentation. CrystalClear Software makes no

representations about the suitability of this software for any

purpose. It is provided "as is" without express or implied

warranty.

</para>

<!--hr / -->

<ulink url="mailto:[email protected]">Jeff Garland</ulink>

&#169; 2000-2002

</section>

[/

Copyright 2007 John Maddock.

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).

]

[section:mpl MPL Interoperability]

All the value based traits in this library conform to MPL's requirements

for an [@../../../../libs/mpl/doc/refmanual/integral-constant.html Integral Constant type].

Please note that these types no longer inherit from `mpl::true_` or `mpl::false_` etc, and the library

will no longer implicitly include any MPL header. However there is an implicit conversion from

Page 32: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

32

`integral_constant` to the corresponding MPL types, therefore tag-dispatching that uses MPL types

in function overloads will still work as before.

[endsect]

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">

<title>MPL Interoperability</title>

<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">

<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">

<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">

<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">

<link rel="prev" href="intrinsics.html" title="Support for Compiler Intrinsics">

<link rel="next" href="examples.html" title="Examples">

</head>

<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">

<table cellpadding="2" width="100%"><tr>

<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>

<td align="center"><a href="../../../../../index.html">Home</a></td>

<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>

<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>

<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>

<td align="center"><a href="../../../../../more/index.htm">More</a></td>

</tr></table>

<hr>

<div class="spirit-nav">

<a accesskey="p" href="intrinsics.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a

accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h"

href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n"

href="examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>

</div>

<div class="section">

<div class="titlepage"><div><div><h2 class="title" style="clear: both">

<a name="boost_typetraits.mpl"></a><a class="link" href="mpl.html" title="MPL Interoperability">MPL

Interoperability</a>

</h2></div></div></div>

<p>

All the value based traits in this library conform to MPL's requirements for

an <a href="../../../../../libs/mpl/doc/refmanual/integral-constant.html" target="_top">Integral

Constant type</a>.

</p>

<p>

Please note that these types no longer inherit from <code class="computeroutput"><span

class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> or

<code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span

class="identifier">false_</span></code> etc, and the library will no longer

implicitly include any MPL header. However there is an implicit conversion

from <code class="computeroutput"><span class="identifier">integral_constant</span></code> to the

Page 33: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

33

corresponding MPL types, therefore tag-dispatching that uses MPL types in function

overloads will still work as before.

</p>

</div>

<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

<td align="left"></td>

<td align="right"><div class="copyright-footer">Copyright &#169; 2000, 2011 Adobe Systems Inc, David

Abrahams,

Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,

Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten

Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven

Watanabe<p>

Distributed under the Boost Software License, Version 1.0. (See accompanying

file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"

target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)

</p>

</div></td>

</tr></table>

<hr>

<div class="spirit-nav">

<a accesskey="p" href="intrinsics.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a

accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h"

href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n"

href="examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>

</div>

</body>

</html>

[/

Copyright 2006 - 2010 John Maddock and Paul A. Bristow.

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).

]

////

Copyright 2017 Peter Dimov

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

////

[#mpl]

# MPL Support, <boost/mp11/mpl.hpp>

:toc:

:toc-title:

:idprefix:

Page 34: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

34

The header `<boost/mp11/mpl.hpp>`, when included, defines the

necessary support infrastructure for `mp_list` and `std::tuple`

to be valid link:../../../../libs/mpl[MPL] sequences.

NOTE: `mpl.hpp` is not included by `<boost/mp11.hpp>`.

Software License, Version 1.0

Copyright 2002-2003, Trustees of Indiana University.

Copyright 2000-2001, University of Notre Dame.

All rights reserved.

Indiana University has the exclusive rights to license this product under the

following license.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions are met:

* All redistributions of source code must retain the above copyright notice,

the list of authors in the original source code, this list of conditions

and the disclaimer listed in this license;

* All redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the disclaimer listed in this license

in the documentation and/or other materials provided with the distribution;

* Any documentation included with all redistributions must include the

following acknowledgement:

"This product includes software developed at the University of Notre Dame

and the Pervasive Technology Labs at Indiana University. For technical

information contact Andrew Lumsdaine at the Pervasive Technology Labs at

Indiana University. For administrative and license questions contact the

Advanced Research and Technology Institute at 351 West 10th Street.

Indianapolis, Indiana 46202, phone 317-278-4100, fax 317-274-5902."

Alternatively, this acknowledgement may appear in the software itself, and

wherever such third-party acknowledgments normally appear.

* The name Indiana University, the University of Notre Dame or "Caramel"

shall not be used to endorse or promote products derived from this software

without prior written permission from Indiana University. For written

permission, please contact Indiana University Advanced Research &

Technology Institute.

* Products derived from this software may not be called "Caramel", nor may

Indiana University, the University of Notre Dame or "Caramel" appear in

their name, without prior written permission of Indiana University Advanced

Research & Technology Institute.

Page 35: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

35

Indiana University provides no reassurances that the source code provided does

not infringe the patent or any other intellectual property rights of any other

entity. Indiana University disclaims any liability to any recipient for claims

brought by any other entity based on infringement of intellectual property

rights or otherwise.

LICENSEE UNDERSTANDS THAT SOFTWARE IS PROVIDED "AS IS" FOR WHICH NO WARRANTIES

AS TO CAPABILITIES OR ACCURACY ARE MADE. INDIANA UNIVERSITY GIVES NO WARRANTIES

AND MAKES NO REPRESENTATION THAT SOFTWARE IS FREE OF INFRINGEMENT OF THIRD

PARTY PATENT, COPYRIGHT, OR OTHER PROPRIETARY RIGHTS. INDIANA UNIVERSITY MAKES

NO WARRANTIES THAT SOFTWARE IS FREE FROM "BUGS", "VIRUSES", "TROJAN HORSES",

"TRAP DOORS", "WORMS", OR OTHER HARMFUL CODE. LICENSEE ASSUMES THE ENTIRE RISK

AS TO THE PERFORMANCE OF SOFTWARE AND/OR ASSOCIATED MATERIALS, AND TO THE

PERFORMANCE AND VALIDITY OF INFORMATION GENERATED USING SOFTWARE.

//////////////////////////////////////////////////////////////////////////////

//

// (C) Copyright Ion Gaztanaga 2005-2013.

//

// 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)

//

// See http://www.boost.org/libs/container for documentation.

//

//////////////////////////////////////////////////////////////////////////////

#ifndef BOOST_CONTAINER_CONTAINER_DETAIL_MPL_HPP

#define BOOST_CONTAINER_CONTAINER_DETAIL_MPL_HPP

#ifndef BOOST_CONFIG_HPP

# include <boost/config.hpp>

#endif

#if defined(BOOST_HAS_PRAGMA_ONCE)

# pragma once

#endif

#include <boost/container/detail/config_begin.hpp>

#include <boost/container/detail/workaround.hpp>

#include <boost/move/detail/type_traits.hpp>

#include <boost/intrusive/detail/mpl.hpp>

#include <cstddef>

namespace boost {

namespace container {

namespace dtl {

Page 36: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

36

using boost::move_detail::integral_constant;

using boost::move_detail::true_type;

using boost::move_detail::false_type;

using boost::move_detail::enable_if_c;

using boost::move_detail::enable_if;

using boost::move_detail::enable_if_convertible;

using boost::move_detail::disable_if_c;

using boost::move_detail::disable_if;

using boost::move_detail::disable_if_convertible;

using boost::move_detail::is_convertible;

using boost::move_detail::if_c;

using boost::move_detail::if_;

using boost::move_detail::identity;

using boost::move_detail::bool_;

using boost::move_detail::true_;

using boost::move_detail::false_;

using boost::move_detail::yes_type;

using boost::move_detail::no_type;

using boost::move_detail::bool_;

using boost::move_detail::true_;

using boost::move_detail::false_;

using boost::move_detail::unvoid_ref;

using boost::move_detail::and_;

using boost::move_detail::or_;

using boost::move_detail::not_;

using boost::move_detail::enable_if_and;

using boost::move_detail::disable_if_and;

using boost::move_detail::enable_if_or;

using boost::move_detail::disable_if_or;

template <class FirstType>

struct select1st

{

typedef FirstType type;

template<class T>

const type& operator()(const T& x) const

{ return x.first; }

template<class T>

type& operator()(T& x)

{ return const_cast<type&>(x.first); }

};

template <class T, class=void>

struct is_transparent

{

Page 37: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

37

static const bool value = false;

};

template <class T>

struct is_transparent<T, typename T::is_transparent>

{

static const bool value = true;

};

template <typename C, typename K, typename R>

struct enable_if_transparent

: boost::move_detail::enable_if_c<dtl::is_transparent<C>::value, R>

{};

} //namespace dtl {

} //namespace container {

} //namespace boost {

#include <boost/container/detail/config_end.hpp>

#endif //#ifndef BOOST_CONTAINER_CONTAINER_DETAIL_MPL_HPP

//////////////////////////////////////////////////////////////////////////////

//

// (C) Copyright Ion Gaztanaga 2005-2016.

//

// 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)

//

// See http://www.boost.org/libs/interprocess for documentation.

//

//////////////////////////////////////////////////////////////////////////////

#ifndef BOOST_INTERPROCESS_DETAIL_MPL_HPP

#define BOOST_INTERPROCESS_DETAIL_MPL_HPP

#ifndef BOOST_CONFIG_HPP

# include <boost/config.hpp>

#endif

#

#if defined(BOOST_HAS_PRAGMA_ONCE)

# pragma once

#endif

#include <cstddef>

namespace boost {

Page 38: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

38

namespace interprocess {

namespace ipcdetail {

template <class T, T val>

struct integral_constant

{

static const T value = val;

typedef integral_constant<T,val> type;

};

template< bool C_ >

struct bool_ : integral_constant<bool, C_>

{

static const bool value = C_;

};

typedef bool_<true> true_;

typedef bool_<false> false_;

typedef true_ true_type;

typedef false_ false_type;

typedef char yes_type;

struct no_type

{

char padding[8];

};

template <bool B, class T = void>

struct enable_if_c {

typedef T type;

};

template <class T>

struct enable_if_c<false, T> {};

template <class Cond, class T = void>

struct enable_if : public enable_if_c<Cond::value, T> {};

template <class Cond, class T = void>

struct disable_if : public enable_if_c<!Cond::value, T> {};

template<

bool C

, typename T1

, typename T2

>

struct if_c

Page 39: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

39

{

typedef T1 type;

};

template<

typename T1

, typename T2

>

struct if_c<false,T1,T2>

{

typedef T2 type;

};

template<

typename T1

, typename T2

, typename T3

>

struct if_

{

typedef typename if_c<0 != T1::value, T2, T3>::type type;

};

template<std::size_t S>

struct ls_zeros

{

static const std::size_t value = (S & std::size_t(1)) ? 0 : (1u + ls_zeros<(S >> 1u)>::value);

};

template<>

struct ls_zeros<0>

{

static const std::size_t value = 0;

};

template<>

struct ls_zeros<1>

{

static const std::size_t value = 0;

};

} //namespace ipcdetail {

} //namespace interprocess {

} //namespace boost {

#endif //#ifndef BOOST_INTERPROCESS_DETAIL_MPL_HPP

Page 40: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

40

/////////////////////////////////////////////////////////////////////////////

//

// (C) Copyright Ion Gaztanaga 2006-2014

// (C) Copyright Microsoft Corporation 2014

//

// 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)

//

// See http://www.boost.org/libs/intrusive for documentation.

//

/////////////////////////////////////////////////////////////////////////////

#ifndef BOOST_INTRUSIVE_DETAIL_MPL_HPP

#define BOOST_INTRUSIVE_DETAIL_MPL_HPP

#ifndef BOOST_CONFIG_HPP

# include <boost/config.hpp>

#endif

#if defined(BOOST_HAS_PRAGMA_ONCE)

# pragma once

#endif

#include <boost/intrusive/detail/config_begin.hpp>

#include <boost/move/detail/type_traits.hpp>

#include <cstddef>

namespace boost {

namespace intrusive {

namespace detail {

using boost::move_detail::is_same;

using boost::move_detail::add_const;

using boost::move_detail::remove_const;

using boost::move_detail::remove_cv;

using boost::move_detail::remove_reference;

using boost::move_detail::add_reference;

using boost::move_detail::remove_pointer;

using boost::move_detail::add_pointer;

using boost::move_detail::true_type;

using boost::move_detail::false_type;

using boost::move_detail::enable_if_c;

using boost::move_detail::enable_if;

using boost::move_detail::disable_if_c;

using boost::move_detail::disable_if;

using boost::move_detail::is_convertible;

using boost::move_detail::if_c;

Page 41: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

41

using boost::move_detail::if_;

using boost::move_detail::is_const;

using boost::move_detail::identity;

using boost::move_detail::alignment_of;

using boost::move_detail::is_empty;

using boost::move_detail::addressof;

using boost::move_detail::integral_constant;

using boost::move_detail::enable_if_convertible;

using boost::move_detail::disable_if_convertible;

using boost::move_detail::bool_;

using boost::move_detail::true_;

using boost::move_detail::false_;

using boost::move_detail::yes_type;

using boost::move_detail::no_type;

using boost::move_detail::apply;

using boost::move_detail::eval_if_c;

using boost::move_detail::eval_if;

using boost::move_detail::unvoid_ref;

using boost::move_detail::add_const_if_c;

template<std::size_t S>

struct ls_zeros

{

static const std::size_t value = (S & std::size_t(1)) ? 0 : (1 + ls_zeros<(S>>1u)>::value);

};

template<>

struct ls_zeros<0>

{

static const std::size_t value = 0;

};

template<>

struct ls_zeros<1>

{

static const std::size_t value = 0;

};

// Infrastructure for providing a default type for T::TNAME if absent.

#define BOOST_INTRUSIVE_INSTANTIATE_DEFAULT_TYPE_TMPLT(TNAME) \

template <typename T> \

struct boost_intrusive_has_type_ ## TNAME \

{ \

template <typename X> \

static char test(int, typename X::TNAME*); \

\

template <typename X> \

static int test(...); \

Page 42: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

42

\

static const bool value = (1 == sizeof(test<T>(0, 0))); \

}; \

\

template <typename T, typename DefaultType> \

struct boost_intrusive_default_type_ ## TNAME \

{ \

struct DefaultWrap { typedef DefaultType TNAME; }; \

\

typedef typename \

::boost::intrusive::detail::if_c \

< boost_intrusive_has_type_ ## TNAME<T>::value \

, T, DefaultWrap>::type::TNAME type; \

}; \

//

#define BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_DEFAULT(INSTANTIATION_NS_PREFIX, T,

TNAME, TIMPL) \

typename INSTANTIATION_NS_PREFIX \

boost_intrusive_default_type_ ## TNAME< T, TIMPL >::type \

//

#define BOOST_INTRUSIVE_HAS_TYPE(INSTANTIATION_NS_PREFIX, T, TNAME) \

INSTANTIATION_NS_PREFIX \

boost_intrusive_has_type_ ## TNAME< T >::value \

//

#define BOOST_INTRUSIVE_INSTANTIATE_EVAL_DEFAULT_TYPE_TMPLT(TNAME)\

template <typename T, typename DefaultType> \

struct boost_intrusive_eval_default_type_ ## TNAME \

{ \

template <typename X> \

static char test(int, typename X::TNAME*); \

\

template <typename X> \

static int test(...); \

\

struct DefaultWrap \

{ typedef typename DefaultType::type TNAME; }; \

\

static const bool value = (1 == sizeof(test<T>(0, 0))); \

\

typedef typename \

::boost::intrusive::detail::eval_if_c \

< value \

, ::boost::intrusive::detail::identity<T> \

, ::boost::intrusive::detail::identity<DefaultWrap> \

>::type::TNAME type; \

Page 43: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

43

}; \

//

#define BOOST_INTRUSIVE_OBTAIN_TYPE_WITH_EVAL_DEFAULT(INSTANTIATION_NS_PREFIX, T,

TNAME, TIMPL) \

typename INSTANTIATION_NS_PREFIX \

boost_intrusive_eval_default_type_ ## TNAME< T, TIMPL >::type \

//

#define BOOST_INTRUSIVE_INTERNAL_STATIC_BOOL_IS_TRUE(TRAITS_PREFIX,

TYPEDEF_TO_FIND) \

template <class T>\

struct TRAITS_PREFIX##_bool\

{\

template<bool Add>\

struct two_or_three {yes_type _[2 + Add];};\

template <class U> static yes_type test(...);\

template <class U> static two_or_three<U::TYPEDEF_TO_FIND> test (int);\

static const std::size_t value = sizeof(test<T>(0));\

};\

\

template <class T>\

struct TRAITS_PREFIX##_bool_is_true\

{\

static const bool value = TRAITS_PREFIX##_bool<T>::value > sizeof(yes_type)*2;\

};\

//

#define BOOST_INTRUSIVE_HAS_STATIC_MEMBER_FUNC_SIGNATURE(TRAITS_NAME,

FUNC_NAME) \

template <typename U, typename Signature> \

class TRAITS_NAME \

{ \

private: \

template<Signature> struct helper;\

template<typename T> \

static ::boost::intrusive::detail::yes_type test(helper<&T::FUNC_NAME>*); \

template<typename T> static ::boost::intrusive::detail::no_type test(...); \

public: \

static const bool value = sizeof(test<U>(0)) == sizeof(::boost::intrusive::detail::yes_type); \

}; \

//

#define BOOST_INTRUSIVE_HAS_MEMBER_FUNC_CALLED(TRAITS_NAME, FUNC_NAME) \

template <typename Type> \

struct TRAITS_NAME \

{ \

struct BaseMixin \

Page 44: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

44

{ \

void FUNC_NAME(); \

}; \

struct Base : public Type, public BaseMixin { Base(); }; \

template <typename T, T t> class Helper{}; \

template <typename U> \

static ::boost::intrusive::detail::no_type test(U*, Helper<void (BaseMixin::*)(), &U::FUNC_NAME>* = 0); \

static ::boost::intrusive::detail::yes_type test(...); \

static const bool value = sizeof(::boost::intrusive::detail::yes_type) == sizeof(test((Base*)(0))); \

};\

//

#define BOOST_INTRUSIVE_HAS_MEMBER_FUNC_CALLED_IGNORE_SIGNATURE(TRAITS_NAME,

FUNC_NAME) \

BOOST_INTRUSIVE_HAS_MEMBER_FUNC_CALLED(TRAITS_NAME##_ignore_signature, FUNC_NAME)

\

\

template <typename Type, class> \

struct TRAITS_NAME \

: public TRAITS_NAME##_ignore_signature<Type> \

{};\

//

} //namespace detail

} //namespace intrusive

} //namespace boost

#include <boost/intrusive/detail/config_end.hpp>

#endif //BOOST_INTRUSIVE_DETAIL_MPL_HPP

This is an attempt to acknowledge early contributions to the garbage

collector. Later contributions should instead be mentioned in

README.changes.

HISTORY -

Early versions of this collector were developed as a part of research

projects supported in part by the National Science Foundation

and the Defense Advance Research Projects Agency.

The garbage collector originated as part of the run-time system for

the Russell programming language implementation. The first version of the

garbage collector was written primarily by Al Demers. It was then refined

and mostly rewritten, primarily by Hans-J. Boehm, at Cornell U.,

the University of Washington, Rice University (where it was first used for

C and assembly code), Xerox PARC, SGI, and HP Labs. However, significant

contributions have also been made by many others.

Page 45: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

45

Some other contributors:

More recent contributors are mentioned in the modification history in

README.changes. My apologies for any omissions.

The SPARC specific code was originally contributed by Mark Weiser.

The Encore Multimax modifications were supplied by

Kevin Kenny ([email protected]). The adaptation to the IBM PC/RT is largely

due to Vernon Lee, on machines made available to Rice by IBM.

Much of the HP specific code and a number of good suggestions for improving the

generic code are due to Walter Underwood.

Robert Brazile ([email protected]) originally supplied the ULTRIX code.

Al Dosser ([email protected]) and Regis Cridlig ([email protected])

subsequently provided updates and information on variation between ULTRIX

systems. Parag Patel ([email protected]) supplied the A/UX code.

Jesper Peterson([email protected]), Michel Schinz, and

Martin Tauchmann ([email protected]) supplied the Amiga port.

Thomas Funke ([email protected](?)) and

Brian D.Carlstrom ([email protected]) supplied the NeXT ports.

Douglas Steel ([email protected]) provided ICL DRS6000 code.

Bill Janssen ([email protected]) supplied the SunOS dynamic loader

specific code. Manuel Serrano ([email protected]) supplied linux and

Sony News specific code. Al Dosser provided Alpha/OSF/1 code. He and

Dave Detlefs([email protected]) also provided several generic bug fixes.

Alistair G. Crooks([email protected]) supplied the NetBSD and 386BSD ports.

Jeffrey Hsu ([email protected]) provided the FreeBSD port.

Brent Benson ([email protected]) ported the collector to

a Motorola 88K processor running CX/UX (Harris NightHawk).

Ari Huttunen ([email protected]) generalized the OS/2 port to

nonIBM development environments (a nontrivial task).

Patrick Beard ([email protected]) provided the initial MacOS port.

David Chase, then at Olivetti Research, suggested several improvements.

Scott Schwartz ([email protected]) supplied some of the

code to save and print call stacks for leak detection on a SPARC.

Jesse Hull and John Ellis supplied the C++ interface code.

Zhong Shao performed much of the experimentation that led to the

current typed allocation facility. (His dynamic type inference code hasn't

made it into the released version of the collector, yet.)

This package was debianized by Vladimir Prus <[email protected]> on

Wed, 17 July 2002, 19:27:00 +0400.

Copyright:

/+\

+\Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc.

\+/

This is Release 2.4 of Jam/MR, a make-like program.

Page 46: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

46

License is hereby granted to use this software and distribute it

freely, as long as this copyright notice is retained and modifications

are clearly marked.

ALL WARRANTIES ARE HEREBY DISCLAIMED.

Some portions are also:

Copyright 2001-2006 David Abrahams.

Copyright 2002-2006 Rene Rivera.

Copyright 2003-2006 Vladimir Prus.

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)

The following people hereby grant permission to replace all existing

licenses on their contributions to Boost with the Boost Software

License, Version 1.0. (boostinspect:nolicense boostinspect:nocopyright)

Aleksey Gurtovoy ([email protected])

Andrei Alexandrescu (andrewalex - at - hotmail.com) (See Boost list message of August 12, 2004 11:06:58 AM

EST)

Andrew Lumsdaine ()

Anthony Williams (anthony -at- justsoftwaresolutions.co.uk)

Beman Dawes ([email protected])

Brad King (brad.king -at- kitware.com) (See Boost list message of Wed, 21 Jul 2004 11:15:46 -0400)

Brian Osman (osman -at- vvisions.com) (See CVS log)

Bruce Barr (schmoost -at- yahoo.com) (See Boost list of Mon, 16 Aug 2004 15:06:43 -0500)

Bruno da Silva de Oliveira (bruno - at - esss.com.br)

Christain Engstrom (christian.engstrom -at- glindra.org) (See Boost list message of Mon, 30 Aug 2004 14:31:49

+0200)

Cromwell D Enage (sponage -at- yahoo.com) (See Boost list message of August 12, 2004 11:49:13 AM EST)

Dan Gohman (djg -at- cray.com) (See Boost list messsage of Sat, 21 Aug 2004 10:54:59 +0100)

Dan Nuffer (dan -at- nuffer.name)

Daniel Frey (d.frey -at- gmx.de, daniel.frey -at- aixigo.de)

Daniel Nuffer (dan -at- nuffer.name)

Darin Adler (darin -at- bentspoon.com) (Email to Andreas Huber, see change log)

Daryle Walker (darylew - at - hotmail.com)

Dave Abrahams ([email protected])

Dave Moore (dmoore -at- viefinancial.com) (See Boost list message of 18 Dec 2003 15:35:50 -0500)

David Abrahams ([email protected])

Dietmar Kuehl (dietmar_kuehl -at- yahoo.com) (Email to Andreas Huber, see change log)

Douglas Gregor (gregod -at- cs.rpi.edu, dgregor -at- cs.indiana.edu, doug.gregor -at- gmail.com)

Dr John Maddock (john - at - johnmaddock.co.uk)

Edward D. Brey (brey -at- ductape.net) (Email to Andreas Huber, see change log)

Eric Ford (un5o6n902 -at- sneakemail.com) (See Boost list message of Sun, 15 Aug 2004 10:29:13 +0100)

Eric Friedman ([email protected])

Eric Niebler ([email protected])

Page 47: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

47

Fernando Cacciola ([email protected])

Fernando Luis Cacciola Carballal ([email protected])

Francois Faure (Francois.Faure -at- imag.fr) (See CVS log)

Gary Powell (powellg - at - amazon.com) (See Boost list message of 10 Feb 2004 14:22:46 -0800)

Gennadiy Rozental (rogeeff -at- mail.com) (Email to Andreas Huber, see change log)

Gottfried Ganssauge (Gottfried.Ganssauge -at- HAUFE.DE) (See Boost List message of Mon, 16 Aug 2004

10:09:19 +0200)

Gottfried Ganauge (Gottfried.Ganssauge -at- HAUFE.DE) (Alternative spelling of Gottfried Ganssauge)

Greg Colvin (gregory.colvin -at- oracle.com) (See Boost list message of Sat, 14 Aug 2004 10:57:00 +0100)

Gregory Colvin (gregory.colvin -at- oracle.com) (See Boost list message of Sat, 14 Aug 2004 10:57:00 +0100)

Gunter Winkler (gunter.winkler -at- unibw-muenchen.de) (See Boost List message of Mon, 16 Aug 2004 10:24:17

+0200)

Hartmut Kaiser (hartmut.kaiser -at- gmail.com)

Herve Bronnimann (hbr -at- poly.edu)

Herv Brnnimann (hbr -at- poly.edu)

Housemarque Oy (Ilari Kuittinen ilari.kuittinen -at- housemarque.fi)

Howard Hinnant (hinnant -at- twcny.rr.com) (See Boost list message of July 25, 2004 3:44:49 PM EST)

Hubert Holin (hubert_holin -at- users.sourceforge.net)

Indiana University ()

Itay Maman (imaman -at- users.sourceforge.net)

Jaakko Jrvi (jajarvi -at- osl.iu.edu)

Jaap Suter (j.suter -at- student.utwente.nl) (See Boost list message of Thu, 16 Sep 2004 09:32:43 -0700)

Jeff Garland (jeff - at - crystalclearsoftware.com) (see Boost list post of July 25, 2004 19:31:09 -0700)

Jens Maurer ([email protected])

Jeremy G Siek ([email protected])

Jeremy Siek ([email protected])

Joel de Guzman (joel -at- boost-consulting.com) (See Boost list message of July 25, 2004 8:32:00 PM EST)

John Bandela (jbandela-at-ufl.edu)

John Maddock (john - at - johnmaddock.co.uk)

John R Bandela (jbandela-at-ufl.edu)

Jonathan Turkanis (turkanis -at- coderage dot com)

Juergen Hunold (hunold -at- ive.uni-hannover.de) (See Boost List Message of Fri, 13 Aug 2004 19:39:55 +0200)

Kevlin Henney (kevlin -at- curbralan.com) (See Boost list message of Wed, 15 Sep 2004 18:15:17 +0200)

Kresimir Fresl (fresl -at- master.grad.hr) (See Boost List message of August 16, 2004 8:23:35 AM EST)

Lars Gullik Bjnnes (larsbj -at- lyx.org) (See Boost list message of Tue, 17 Aug 2004 15:49:02 +0100)

Lie-Quan Lee (liequan - at - slac.stanford.edu, llee - at - cs.indiana.edu)

Maarten Keijzer (mkeijzer -at- cs.vu.nl) (See Boost list message of Wed, 18 Aug 2004 21:43:18 +0100)

Mac Murrett (mmurrett -at- mac.com)

Marc Wintermantel (wintermantel -at- imes.mavt.ethz.ch, wintermantel -at- even-ag.ch) (See CVS log)

Michael Glassford (glassfordm - at - hotmail.com)

Michael Stevens (Michael.Stevens - at - epost.de)

Multi Media Ltd. ([email protected])

Nicolai M Josuttis (solutions -at- josuttis.com) (See Boost list message of Mon, 30 Aug 2004 10:52:00 +0100)

Nikolay Mladenov (nickm -at- sitius.com) (See Boost list message of Tue, 17 Aug 2004 15:45:33 +0100)

Paul Mensonides (pmenso57 -at- comcast.net) (See Boost list message of July 21, 2004 1:12:21 AM EST)

Pavol Droba (droba -at- topmail.sk)

Peter Dimov ([email protected])

R W Grosse-Kunstleve ([email protected])

Page 48: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

48

Ralf W. Grosse-Kunstleve ([email protected])

Rational Discovery LLC (Greg Landrum Landrum -at- RationalDiscovery.com) (See Boost list post of Tue, 17 Aug

2004 10:35:36 +0100)

Rene Rivera (grafik/redshift-software.com, rrivera/acm.org)

Robert Ramey ([email protected])

Roland Richter (roland -at- flll.jku.at) (See Boost list post of Mon, 16 Aug 2004 22:16:55 +0200)

Roland Schwarz (roland.schwarz -at- chello.at)

Ronald Garcia (garcia -at- cs.indiana.edu) (Email to Andreas Huber, see change log)

Samuel Krempp (krempp -at- crans.ens-cachan.fr) (See Boost list message of Mon, 27 Sep 2004 13:18:36 +0200)

Stefan Seefeld (seefeld -at- sympatico.ca)

Stephen Cleary (scleary -at- jerviswebb.com) (See Boost list message of Tue, 28 Sep 2004 13:11:46 +0100)

Steve Cleary (Variant of Stephen Cleary)

Sylvain Pion (Sylvain.Pion - at - sophia.inria.fr)

The Trustees of Indiana University ()

Thomas Witt (witt - at - ive.uni-hannover.de, witt - at - acm.org, witt - at - styleadvisor.com)

Thorsten Jrgen Ottosen (nesotto - at - cs.auc.dk)

Thorsten Ottosen (nesotto - at - cs.auc.dk)

Toon Knapen (toon dot knapen - at - fft.be)

Trustees of Indiana University ()

University of Notre Dame ()

Vladimir Prus ([email protected])

William E. Kempf () (email to Beman Dawes, 9/14/2006 4:18 PM)

Joerg Walter (jhr.walter - at - t-online.de : email to ublas mailing list Mon, 17 Sep 2007 10:17:08 +0200)

Mathias Koch (mkoch - at - idesis.de 7 : email to [email protected] Sep 2007 13:20:09 +0200)

--- end ---

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the "Software") to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:

The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

Page 49: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

49

DEALINGS IN THE SOFTWARE.

<!DOCTYPE html>

<html>

<head></head>

<body>

<h3>

Copyright Test

</h3>

<p class="copyright">

1963, 1964, 1965 Jane Doe

</p>

<p class="copyright">

2018 Joe Blow, John Coe

</p>

<p class="copyright">

1977, 1985 Someone else

</p>

</body>

</html>

[article Copyright Test

[quickbook 1.5]

[copyright 1963-1965 Jane Doe, 2018 Joe Blow, John Coe]

[copyright 1977,1985 Someone else]

]

[article Invalid copyright

[quickbook 1.5]

[copyright No year]

]

Maybe this should pass?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>License &#8212; Boost.HigherOrderFunctions 0.6 documentation</title>

<link rel="stylesheet" href="../../_static/boostbook.css" type="text/css" />

<link rel="stylesheet" href="../../_static/pygments.css" type="text/css" />

<script type="text/javascript">

var DOCUMENTATION_OPTIONS = {

URL_ROOT: '../../',

VERSION: '0.6',

COLLAPSE_INDEX: false,

Page 50: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

50

FILE_SUFFIX: '.html',

HAS_SOURCE: true,

SOURCELINK_SUFFIX: '.txt'

};

</script>

<script type="text/javascript" src="../../_static/jquery.js"></script>

<script type="text/javascript" src="../../_static/underscore.js"></script>

<script type="text/javascript" src="../../_static/doctools.js"></script>

<link rel="index" title="Index" href="../../genindex.html" />

<link rel="search" title="Search" href="../../search.html" />

<link rel="prev" title="Acknowledgements" href="acknowledgements.html" />

</head>

<body role="document">

<table cellpadding="2" width="100%"><tr>

<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86"src="../../_static/boost.png"></td>

</tr></table>

<div class="spirit-nav">

<a accesskey="p" href="acknowledgements.html"><img src="../../_static/prev.png" alt="Prev"></a>

<a accesskey="u" href="../index.html"><img src="../../_static/up.png" alt="Up"></a>

<a accesskey="h" href="../index.html"><img src="../../_static/home.png" alt="Home"></a>

<a accesskey="n" ><img src="../../_static/next.png" alt="Next"></a>

</div>

<div class="document">

<div class="chapter">

<div class="body" role="main">

<!-- Copyright 2018 Paul Fultz II

Distributed under the Boost Software License, Version 1.0.

(http://www.boost.org/LICENSE_1_0.txt)

--><div class="section" id="license">

<h1>License<a class="headerlink" href="#license" title="Permalink to this headline"></a></h1>

<p>Boost Software License - Version 1.0 - August 17th, 2003</p>

<p>Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the &#8220;Software&#8221;) to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:</p>

<p>The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.</p>

<p>THE SOFTWARE IS PROVIDED &#8220;AS IS&#8221;, WITHOUT WARRANTY OF ANY KIND,

Page 51: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

51

EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER</p>

</div>

</div>

</div>

<div class="clearer"></div>

</div>

<div class="footer" role="contentinfo">

<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

<td align="left"></td>

<td align="right"><div class="copyright-footer">

&#169; Copyright 2016, Paul Fultz II.

Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.

<p>Distributed under the Boost Software License, Version 1.0.

(See accompanying file <code class="filename">LICENSE_1_0.txt</code> or copy at

<a href="http://www.boost.org/LICENSE_1_0.txt"

target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)

</p>

</div></td>

</tr></table>

</div>

</body>

</html>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title><no title> &#8212; Boost.HigherOrderFunctions 0.6 documentation</title>

<link rel="stylesheet" href="_static/boostbook.css" type="text/css" />

<link rel="stylesheet" href="_static/pygments.css" type="text/css" />

<script type="text/javascript">

var DOCUMENTATION_OPTIONS = {

URL_ROOT: './',

VERSION: '0.6',

COLLAPSE_INDEX: false,

Page 52: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

52

FILE_SUFFIX: '.html',

HAS_SOURCE: true,

SOURCELINK_SUFFIX: '.txt'

};

</script>

<script type="text/javascript" src="_static/jquery.js"></script>

<script type="text/javascript" src="_static/underscore.js"></script>

<script type="text/javascript" src="_static/doctools.js"></script>

<link rel="index" title="Index" href="genindex.html" />

<link rel="search" title="Search" href="search.html" />

</head>

<body role="document">

<table cellpadding="2" width="100%"><tr>

<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86"src="_static/boost.png"></td>

</tr></table>

<div class="spirit-nav">

<a accesskey="p" ><img src="_static/prev.png" alt="Prev"></a>

<a accesskey="u" href="doc/index.html"><img src="_static/up.png" alt="Up"></a>

<a accesskey="h" href="doc/index.html"><img src="_static/home.png" alt="Home"></a>

<a accesskey="n" ><img src="_static/next.png" alt="Next"></a>

</div>

<div class="document">

<div class="chapter">

<div class="body" role="main">

<p>Copyright Paul Fultz II 2016-2018</p>

<p>Boost Software License - Version 1.0 - August 17th, 2003</p>

<p>Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the &#8220;Software&#8221;) to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:</p>

<p>The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.</p>

<p>THE SOFTWARE IS PROVIDED &#8220;AS IS&#8221;, WITHOUT WARRANTY OF ANY KIND,

EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

Page 53: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

53

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

DEALINGS IN THE SOFTWARE.</p>

</div>

</div>

<div class="clearer"></div>

</div>

<div class="footer" role="contentinfo">

<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

<td align="left"></td>

<td align="right"><div class="copyright-footer">

&#169; Copyright 2016, Paul Fultz II.

Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.5.6.

<p>Distributed under the Boost Software License, Version 1.0.

(See accompanying file <code class="filename">LICENSE_1_0.txt</code> or copy at

<a href="http://www.boost.org/LICENSE_1_0.txt"

target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)

</p>

</div></td>

</tr></table>

</div>

</body>

</html>

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">

<title>MPL Interoperability</title>

<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">

<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">

<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">

<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Boost.TypeTraits">

<link rel="prev" href="intrinsics.html" title="Support for Compiler Intrinsics">

<link rel="next" href="examples.html" title="Examples">

</head>

<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">

<table cellpadding="2" width="100%"><tr>

<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>

<td align="center"><a href="../../../../../index.html">Home</a></td>

<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td>

<td align="center"><a href="http://www.boost.org/users/people.html">People</a></td>

<td align="center"><a href="http://www.boost.org/users/faq.html">FAQ</a></td>

<td align="center"><a href="../../../../../more/index.htm">More</a></td>

</tr></table>

<hr>

<div class="spirit-nav">

<a accesskey="p" href="intrinsics.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a

Page 54: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

54

accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h"

href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n"

href="examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>

</div>

<div class="section">

<div class="titlepage"><div><div><h2 class="title" style="clear: both">

<a name="boost_typetraits.mpl"></a><a class="link" href="mpl.html" title="MPL Interoperability">MPL

Interoperability</a>

</h2></div></div></div>

<p>

All the value based traits in this library conform to MPL's requirements for

an <a href="../../../../../libs/mpl/doc/refmanual/integral-constant.html" target="_top">Integral

Constant type</a>.

</p>

<p>

Please note that these types no longer inherit from <code class="computeroutput"><span

class="identifier">mpl</span><span class="special">::</span><span class="identifier">true_</span></code> or

<code class="computeroutput"><span class="identifier">mpl</span><span class="special">::</span><span

class="identifier">false_</span></code> etc, and the library will no longer

implicitly include any MPL header. However there is an implicit conversion

from <code class="computeroutput"><span class="identifier">integral_constant</span></code> to the

corresponding MPL types, therefore tag-dispatching that uses MPL types in function

overloads will still work as before.

</p>

</div>

<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>

<td align="left"></td>

<td align="right"><div class="copyright-footer">Copyright &#169; 2000, 2011 Adobe Systems Inc, David

Abrahams,

Frederic Bron, Steve Cleary, Beman Dawes, Aleksey Gurtovoy, Howard Hinnant,

Jesse Jones, Mat Marcus, Itay Maman, John Maddock, Alexander Nasonov, Thorsten

Ottosen, Roman Perepelitsa, Robert Ramey, Jeremy Siek, Robert Stewart and Steven

Watanabe<p>

Distributed under the Boost Software License, Version 1.0. (See accompanying

file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"

target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)

</p>

</div></td>

</tr></table>

<hr>

<div class="spirit-nav">

<a accesskey="p" href="intrinsics.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a

accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h"

href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n"

href="examples.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>

</div>

</body>

</html>

Page 55: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

55

////

Copyright 2018 Peter Dimov

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

////

[#copyright]

# Copyright and License

:idprefix:

This documentation is

* Copyright 2003-2017 Beman Dawes

* Copyright 2018 Peter Dimov

and is distributed under the http://www.boost.org/LICENSE_1_0.txt[Boost Software License, Version 1.0].

<!--

Copyright Louis Dionne 2013-2017

Distributed under the Boost Software License, Version 1.0.

(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)

-->

<!-- boost-no-inspect -->

<!-- HTML header for doxygen 1.8.9.1-->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>

<meta http-equiv="X-UA-Compatible" content="IE=9"/>

<meta name="generator" content="Doxygen 1.8.11"/>

<title>Boost.Hana: Boost.MPL adapters</title>

<link href="tabs.css" rel="stylesheet" type="text/css"/>

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript" src="dynsections.js"></script>

<link href="navtree.css" rel="stylesheet" type="text/css"/>

<script type="text/javascript" src="resize.js"></script>

<script type="text/javascript" src="navtreedata.js"></script>

<script type="text/javascript" src="navtree.js"></script>

<script type="text/javascript">

$(document).ready(initResizable);

$(window).load(resizeHeight);

</script>

<link href="search/search.css" rel="stylesheet" type="text/css"/>

<script type="text/javascript" src="search/searchdata.js"></script>

<script type="text/javascript" src="search/search.js"></script>

Page 56: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

56

<script type="text/javascript">

$(document).ready(function() { init_search(); });

</script>

<script type="text/x-mathjax-config">

MathJax.Hub.Config({

extensions: ["tex2jax.js"],

jax: ["input/TeX","output/HTML-CSS"],

});

// Copyright Louis Dionne 2013-2017

// Distributed under the Boost Software License, Version 1.0.

// (See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)

MathJax.Hub.Config({

"HTML-CSS": {

linebreaks: {

automatic: true,

width: "75% container"

}

}

});

</script><script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>

<link href="doxygen.css" rel="stylesheet" type="text/css" />

<!-- Additional javascript for drawing charts. -->

<script type="text/javascript" src="highcharts.js"></script>

<script type="text/javascript" src="highcharts-data.js"></script>

<script type="text/javascript" src="highcharts-exporting.js"></script>

<script type="text/javascript" src="chart.js"></script>

<script type="text/javascript" src="hana.js"></script>

</head>

<body>

<div id="top"><!-- do not remove this div, it is closed by doxygen! -->

<div id="titlearea">

<table cellspacing="0" cellpadding="0">

<tbody>

<tr style="height: 56px;">

<td id="projectlogo"><img alt="Logo" src="Boost.png"/></td>

<td style="padding-left: 0.5em;">

<div id="projectname">Boost.Hana

&#160;<span id="projectnumber">1.5.0</span>

</div>

<div id="projectbrief">Your standard library for metaprogramming</div>

</td>

<td> <div id="MSearchBox" class="MSearchBoxInactive">

<span class="left">

<img id="MSearchSelect" src="search/mag_sel.png"

onmouseover="return searchBox.OnSearchSelectShow()"

onmouseout="return searchBox.OnSearchSelectHide()"

alt=""/>

<input type="text" id="MSearchField" value="Search" accesskey="S"

Page 57: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

57

onfocus="searchBox.OnSearchFieldFocus(true)"

onblur="searchBox.OnSearchFieldFocus(false)"

onkeyup="searchBox.OnSearchFieldChange(event)"/>

</span><span class="right">

<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg"

border="0" src="search/close.png" alt=""/></a>

</span>

</div>

</td>

</tr>

</tbody>

</table>

</div>

<!-- end header part -->

<!-- Generated by Doxygen 1.8.11 -->

<script type="text/javascript">

var searchBox = new SearchBox("searchBox", "search",false,'Search');

</script>

</div><!-- top -->

<div id="side-nav" class="ui-resizable side-nav-resizable">

<div id="nav-tree">

<div id="nav-tree-contents">

<div id="nav-sync" class="sync"></div>

</div>

</div>

<div id="splitbar" style="-moz-user-select:none;"

class="ui-resizable-handle">

</div>

</div>

<script type="text/javascript">

$(document).ready(function(){initNavTree('group__group-ext-mpl.html','');});

</script>

<div id="doc-content">

<!-- window showing the filter options -->

<div id="MSearchSelectWindow"

onmouseover="return searchBox.OnSearchSelectShow()"

onmouseout="return searchBox.OnSearchSelectHide()"

onkeydown="return searchBox.OnSearchSelectKey(event)">

</div>

<!-- iframe showing the search results (closed by default) -->

<div id="MSearchResultsWindow">

<iframe src="javascript:void(0)" frameborder="0"

name="MSearchResults" id="MSearchResults">

</iframe>

</div>

<div class="header">

Page 58: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

58

<div class="summary">

<a href="#nested-classes">Classes</a> </div>

<div class="headertitle">

<div class="title">Boost.MPL adapters<div class="ingroups"><a class="el" href="group__group-

ext.html">External adapters</a></div></div> </div>

</div><!--header-->

<div class="contents">

<a name="details" id="details"></a><h2 class="groupheader">Description</h2>

<p>Adapters for Boost.MPL containers. </p>

<table class="memberdecls">

<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>

Classes</h2></td></tr>

<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td

class="memItemRight" valign="bottom"><a class="el"

href="structboost_1_1mpl_1_1integral__c.html">boost::mpl::integral_c< T, v ></a></td></tr>

<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adapter for IntegralConstants

from the Boost.MPL. <a href="structboost_1_1mpl_1_1integral__c.html#details">More...</a><br /></td></tr>

<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>

<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td

class="memItemRight" valign="bottom"><a class="el" href="structboost_1_1mpl_1_1list.html">boost::mpl::list< T

></a></td></tr>

<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adapter for Boost.MPL lists.

<a href="structboost_1_1mpl_1_1list.html#details">More...</a><br /></td></tr>

<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>

<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td

class="memItemRight" valign="bottom"><a class="el"

href="structboost_1_1mpl_1_1vector.html">boost::mpl::vector< T ></a></td></tr>

<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adapter for Boost.MPL

vectors. <a href="structboost_1_1mpl_1_1vector.html#details">More...</a><br /></td></tr>

<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>

</table>

</div><!-- contents -->

</div><!-- doc-content -->

<!--

Copyright Louis Dionne 2013-2017

Distributed under the Boost Software License, Version 1.0.

(See accompanying file LICENSE.md or copy at http://boost.org/LICENSE_1_0.txt)

-->

<!-- boost-no-inspect -->

<!-- HTML footer for doxygen 1.8.9.1-->

<!-- start footer part -->

<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->

<ul>

</ul>

</div>

</body>

</html>

Page 59: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

59

1.2 OpenSSL 1.0.2q 1.2.1 Available under license :

Copyright (C) 1995-1997 Eric Young ([email protected])

All rights reserved.

This package is an DES implementation written by Eric Young ([email protected]).

The implementation was written so as to conform with MIT's libdes.

This library is free for commercial and non-commercial use as long as

the following conditions are aheared to. The following conditions

apply to all code found in this distribution.

Copyright remains Eric Young's, and as such any Copyright notices in

the code are not to be removed.

If this package is used in a product, Eric Young should be given attribution

as the author of that the SSL library. This can be in the form of a textual

message at program startup or in documentation (online or textual) provided

with the package.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions

are met:

1. Redistributions of source code must retain the copyright

notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in the

documentation and/or other materials provided with the distribution.

3. All advertising materials mentioning features or use of this software

must display the following acknowledgement:

This product includes software developed by Eric Young ([email protected])

THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND

ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE

FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL

DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS

OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)

HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT

LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY

OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

SUCH DAMAGE.

The license and distribution terms for any publically available version or

derivative of this code cannot be changed. i.e. this code cannot simply be

Page 60: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

60

copied and put under another distrubution license

[including the GNU Public License.]

The reason behind this being stated in this direct manner is past

experience in code simply being copied and the attribution removed

from it and then being distributed as part of other packages. This

implementation was a non-trivial and unpaid effort.

Copyright (C) 1995-1997 Eric Young ([email protected])

All rights reserved.

This package is an Blowfish implementation written

by Eric Young ([email protected]).

This library is free for commercial and non-commercial use as long as

the following conditions are aheared to. The following conditions

apply to all code found in this distribution.

Copyright remains Eric Young's, and as such any Copyright notices in

the code are not to be removed.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions

are met:

1. Redistributions of source code must retain the copyright

notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in the

documentation and/or other materials provided with the distribution.

3. All advertising materials mentioning features or use of this software

must display the following acknowledgement:

This product includes software developed by Eric Young ([email protected])

THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND

ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE

FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL

DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS

OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)

HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT

LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY

OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

SUCH DAMAGE.

The license and distribution terms for any publically available version or

derivative of this code cannot be changed. i.e. this code cannot simply be

copied and put under another distrubution license

[including the GNU Public License.]

Page 61: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

61

The reason behind this being stated in this direct manner is past

experience in code simply being copied and the attribution removed

from it and then being distributed as part of other packages. This

implementation was a non-trivial and unpaid effort.

LICENSE ISSUES

==============

The OpenSSL toolkit stays under a double license, i.e. both the conditions of

the OpenSSL License and the original SSLeay license apply to the toolkit.

See below for the actual license texts. Actually both licenses are BSD-style

Open Source licenses. In case of any license issues related to OpenSSL

please contact [email protected].

OpenSSL License

---------------

/* ====================================================================

* Copyright (c) 1998-2018 The OpenSSL Project. All rights reserved.

*

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions

* are met:

*

* 1. Redistributions of source code must retain the above copyright

* notice, this list of conditions and the following disclaimer.

*

* 2. Redistributions in binary form must reproduce the above copyright

* notice, this list of conditions and the following disclaimer in

* the documentation and/or other materials provided with the

* distribution.

*

* 3. All advertising materials mentioning features or use of this

* software must display the following acknowledgment:

* "This product includes software developed by the OpenSSL Project

* for use in the OpenSSL Toolkit. (http://www.openssl.org/)"

*

* 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to

* endorse or promote products derived from this software without

* prior written permission. For written permission, please contact

* [email protected].

*

* 5. Products derived from this software may not be called "OpenSSL"

* nor may "OpenSSL" appear in their names without prior written

* permission of the OpenSSL Project.

*

* 6. Redistributions of any form whatsoever must retain the following

Page 62: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

62

* acknowledgment:

* "This product includes software developed by the OpenSSL Project

* for use in the OpenSSL Toolkit (http://www.openssl.org/)"

*

* THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY

* EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR

* PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR

* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT

* NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)

* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,

* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED

* OF THE POSSIBILITY OF SUCH DAMAGE.

* ====================================================================

*

* This product includes cryptographic software written by Eric Young

* ([email protected]). This product includes software written by Tim

* Hudson ([email protected]).

*

*/

Original SSLeay License

-----------------------

/* Copyright (C) 1995-1998 Eric Young ([email protected])

* All rights reserved.

*

* This package is an SSL implementation written

* by Eric Young ([email protected]).

* The implementation was written so as to conform with Netscapes SSL.

*

* This library is free for commercial and non-commercial use as long as

* the following conditions are aheared to. The following conditions

* apply to all code found in this distribution, be it the RC4, RSA,

* lhash, DES, etc., code; not just the SSL code. The SSL documentation

* included with this distribution is covered by the same copyright terms

* except that the holder is Tim Hudson ([email protected]).

*

* Copyright remains Eric Young's, and as such any Copyright notices in

* the code are not to be removed.

* If this package is used in a product, Eric Young should be given attribution

* as the author of the parts of the library used.

* This can be in the form of a textual message at program startup or

* in documentation (online or textual) provided with the package.

*

Page 63: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

63

* Redistribution and use in source and binary forms, with or without

* modification, are permitted provided that the following conditions

* are met:

* 1. Redistributions of source code must retain the copyright

* notice, this list of conditions and the following disclaimer.

* 2. Redistributions in binary form must reproduce the above copyright

* notice, this list of conditions and the following disclaimer in the

* documentation and/or other materials provided with the distribution.

* 3. All advertising materials mentioning features or use of this software

* must display the following acknowledgement:

* "This product includes cryptographic software written by

* Eric Young ([email protected])"

* The word 'cryptographic' can be left out if the rouines from the library

* being used are not cryptographic related :-).

* 4. If you include any Windows specific code (or a derivative thereof) from

* the apps directory (application code) you must include an acknowledgement:

* "This product includes software written by Tim Hudson ([email protected])"

*

* THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND

* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE

* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL

* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS

* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)

* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT

* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY

* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF

* SUCH DAMAGE.

*

* The licence and distribution terms for any publically available version or

* derivative of this code cannot be changed. i.e. this code cannot simply be

* copied and put under another distribution licence

* [including the GNU Public Licence.]

*/

1.3 RapidJSON 1.1.0 1.3.1 Available under license :

Copyright (c) 2012 Julian Berman

Permission is hereby granted, free of charge, to any person obtaining a copy

of this software and associated documentation files (the "Software"), to deal

in the Software without restriction, including without limitation the rights

to use, copy, modify, merge, publish, distribute, sublicense, and/or sell

copies of the Software, and to permit persons to whom the Software is

furnished to do so, subject to the following conditions:

Page 64: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

64

The above copyright notice and this permission notice shall be included in

all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE

AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER

LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,

OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN

THE SOFTWARE.

Tencent is pleased to support the open source community by making RapidJSON available.

Copyright (C) 2015 THL A29 Limited, a Tencent company, and Milo Yip. All rights reserved.

If you have downloaded a copy of the RapidJSON binary from Tencent, please note that the RapidJSON binary is

licensed under the MIT License.

If you have downloaded a copy of the RapidJSON source code from Tencent, please note that RapidJSON source

code is licensed under the MIT License, except for the third-party components listed below which are subject to

different license terms. Your integration of RapidJSON into your own projects may require compliance with the

MIT License, as well as the other licenses applicable to the third-party components included within RapidJSON. To

avoid the problematic JSON license in your own projects, it's sufficient to exclude the bin/jsonchecker/ directory, as

it's the only code under the JSON license.

A copy of the MIT License is included in this file.

Other dependencies and licenses:

Open Source Software Licensed Under the BSD License:

--------------------------------------------------------------------

The msinttypes r29

Copyright (c) 2006-2013 Alexander Chemeris

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the

following conditions are met:

* Redistributions of source code must retain the above copyright notice, this list of conditions and the following

disclaimer.

* Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following

disclaimer in the documentation and/or other materials provided with the distribution.

* Neither the name of copyright holder nor the names of its contributors may be used to endorse or promote

products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND ANY EXPRESS

OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF

MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT

SHALL THE REGENTS AND CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,

Page 65: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

65

SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,

PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR

BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN

CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN

ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH

DAMAGE.

Open Source Software Licensed Under the JSON License:

--------------------------------------------------------------------

json.org

Copyright (c) 2002 JSON.org

All Rights Reserved.

JSON_checker

Copyright (c) 2002 JSON.org

All Rights Reserved.

Terms of the JSON License:

---------------------------------------------------

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated

documentation files (the "Software"), to deal in the Software without restriction, including without limitation the

rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit

persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the

Software.

The Software shall be used for Good, not Evil.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,

INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A

PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR

COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN

AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION

WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Terms of the MIT License:

--------------------------------------------------------------------

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated

documentation files (the "Software"), to deal in the Software without restriction, including without limitation the

rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit

persons to whom the Software is furnished to do so, subject to the following conditions:

Page 66: Open Source Used In EFM C++ Message Broker 1.1 · Open Source Used In EFM C++ Broker and SDK 1.1 1 Open Source Used In EFM C++ Broker and SDK 1.1 Cisco Systems, Inc

Open Source Used In EFM C++ Broker and SDK 1.1

66

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the

Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,

INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A

PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR

COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN

AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION

WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

1.4 zlib 1.2.11 1.4.1 Available under license :

Boost Software License - Version 1.0 - August 17th, 2003

Permission is hereby granted, free of charge, to any person or organization

obtaining a copy of the software and accompanying documentation covered by

this license (the "Software") to use, reproduce, display, distribute,

execute, and transmit the Software, and to prepare derivative works of the

Software, and to permit third-parties to whom the Software is furnished to

do so, all subject to the following:

The copyright notices in the Software and this entire statement, including

the above license grant, this restriction and the following disclaimer,

must be included in all copies of the Software, in whole or in part, and

all derivative works of the Software, unless such copies or derivative

works are solely in the form of machine-executable object code generated by

a source language processor.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR

IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,

FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT

SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE

FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,

ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER

DEALINGS IN THE SOFTWARE.

Cisco and the Cisco logo are trademarks or registered trademarks of Cisco and/or its affiliates in the U.S. and other countries.To view a list of Cisco trademarks, go to

this URL: www.cisco.com/go/trademarks. Third-party trademarks mentioned are the property of their respective owners. The use of the word partner does not imply a

partnership relationship between Cisco and any other company. (1110R)

©2019 Cisco Systems, Inc. All rights reserved.