112840Sgabeblack@google.com/*
212840Sgabeblack@google.com * Copyright 2018 Google, Inc.
312840Sgabeblack@google.com *
412840Sgabeblack@google.com * Redistribution and use in source and binary forms, with or without
512840Sgabeblack@google.com * modification, are permitted provided that the following conditions are
612840Sgabeblack@google.com * met: redistributions of source code must retain the above copyright
712840Sgabeblack@google.com * notice, this list of conditions and the following disclaimer;
812840Sgabeblack@google.com * redistributions in binary form must reproduce the above copyright
912840Sgabeblack@google.com * notice, this list of conditions and the following disclaimer in the
1012840Sgabeblack@google.com * documentation and/or other materials provided with the distribution;
1112840Sgabeblack@google.com * neither the name of the copyright holders nor the names of its
1212840Sgabeblack@google.com * contributors may be used to endorse or promote products derived from
1312840Sgabeblack@google.com * this software without specific prior written permission.
1412840Sgabeblack@google.com *
1512840Sgabeblack@google.com * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
1612840Sgabeblack@google.com * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
1712840Sgabeblack@google.com * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
1812840Sgabeblack@google.com * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
1912840Sgabeblack@google.com * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
2012840Sgabeblack@google.com * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
2112840Sgabeblack@google.com * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
2212840Sgabeblack@google.com * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
2312840Sgabeblack@google.com * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
2412840Sgabeblack@google.com * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2512840Sgabeblack@google.com * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2612840Sgabeblack@google.com *
2712840Sgabeblack@google.com * Authors: Gabe Black
2812840Sgabeblack@google.com */
2912840Sgabeblack@google.com
3012840Sgabeblack@google.com#ifndef __SYSTEMC_EXT_SYSTEMC_H__
3112840Sgabeblack@google.com#define __SYSTEMC_EXT_SYSTEMC_H__
3212840Sgabeblack@google.com
3312840Sgabeblack@google.com#include "systemc"
3412840Sgabeblack@google.com
3512840Sgabeblack@google.com// Collect "using" declarations for the various namespaces.
3612841Sgabeblack@google.com#include "channel/_using.hh"
3712840Sgabeblack@google.com#include "core/_using.hh"
3812840Sgabeblack@google.com#include "dt/_using.hh"
3912852Sgabeblack@google.com#include "utils/_using.hh"
4012840Sgabeblack@google.com
4112840Sgabeblack@google.com// Include some system header files, and import some symbols from std into
4212840Sgabeblack@google.com// the base namespace.
4312840Sgabeblack@google.com#include <stdint.h>
4412840Sgabeblack@google.com
4512840Sgabeblack@google.com#include <cassert>
4612840Sgabeblack@google.com#include <climits>
4712840Sgabeblack@google.com#include <cmath>
4812840Sgabeblack@google.com#include <cstddef>
4912840Sgabeblack@google.com#include <cstdio>
5012840Sgabeblack@google.com#include <cstring>
5112840Sgabeblack@google.com#include <exception>
5212840Sgabeblack@google.com#include <fstream>
5312840Sgabeblack@google.com#include <iostream>
5412840Sgabeblack@google.com#include <memory>
5512840Sgabeblack@google.com#include <string>
5612840Sgabeblack@google.com#include <typeinfo>
5712840Sgabeblack@google.com#include <utility>
5812840Sgabeblack@google.com#include <vector>
5912840Sgabeblack@google.com
6012840Sgabeblack@google.comusing std::ios;
6112840Sgabeblack@google.comusing std::streambuf;
6212840Sgabeblack@google.comusing std::streampos;
6312840Sgabeblack@google.comusing std::streamsize;
6412840Sgabeblack@google.comusing std::iostream;
6512840Sgabeblack@google.comusing std::istream;
6612840Sgabeblack@google.comusing std::ostream;
6712840Sgabeblack@google.comusing std::cin;
6812840Sgabeblack@google.comusing std::cout;
6912840Sgabeblack@google.comusing std::cerr;
7012840Sgabeblack@google.comusing std::endl;
7112840Sgabeblack@google.comusing std::flush;
7212840Sgabeblack@google.comusing std::dec;
7312840Sgabeblack@google.comusing std::hex;
7412840Sgabeblack@google.comusing std::oct;
7512840Sgabeblack@google.comusing std::fstream;
7612840Sgabeblack@google.comusing std::ifstream;
7712840Sgabeblack@google.comusing std::ofstream;
7812840Sgabeblack@google.comusing std::size_t;
7912840Sgabeblack@google.comusing std::memchr;
8012840Sgabeblack@google.comusing std::memcmp;
8112840Sgabeblack@google.comusing std::memcpy;
8212840Sgabeblack@google.comusing std::memmove;
8312840Sgabeblack@google.comusing std::memset;
8412840Sgabeblack@google.comusing std::strcat;
8512840Sgabeblack@google.comusing std::strchr;
8612840Sgabeblack@google.comusing std::strcmp;
8712840Sgabeblack@google.comusing std::strncmp;
8812840Sgabeblack@google.comusing std::strcpy;
8912840Sgabeblack@google.comusing std::strncpy;
9012840Sgabeblack@google.comusing std::strcspn;
9112840Sgabeblack@google.comusing std::strspn;
9212840Sgabeblack@google.comusing std::strlen;
9312840Sgabeblack@google.comusing std::strpbrk;
9412840Sgabeblack@google.comusing std::strstr;
9512840Sgabeblack@google.comusing std::strtok;
9612840Sgabeblack@google.com
9712840Sgabeblack@google.com#endif  //__SYSTEMC_EXT_SYSTEMC_H__
98