KiCad PCB EDA Suite
Loading...
Searching...
No Matches
wx_stl_compat.h
Go to the documentation of this file.
1/*
2 * This program source code file is part of KiCad, a free EDA CAD application.
3 *
4 * Copyright (C) 2021 KiCad Developers, see AUTHORS.txt for contributors.
5 *
6 * This program is free software: you can redistribute it and/or modify it
7 * under the terms of the GNU General Public License as published by the
8 * Free Software Foundation, either version 3 of the License, or (at your
9 * option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful, but
12 * WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#ifndef KICAD_WX_STL_COMPAT_H
21#define KICAD_WX_STL_COMPAT_H
22
23#include <wx/gdicmn.h>
24#include <wx/string.h>
25
26// Some wxWidgets versions (for instance before 3.1.0) do not include
27// this function, so add it if missing
28#if !wxCHECK_VERSION( 3, 1, 0 )
29#define USE_KICAD_WXSTRING_HASH // for common.cpp
31namespace std
32{
33 template<> struct hash<wxString>
34 {
35 size_t operator()( const wxString& s ) const;
36 };
37}
38#endif
39
41#define USE_KICAD_WXPOINT_LESS_AND_HASH // for common.cpp
42namespace std
43{
44 template <> struct hash<wxPoint>
45 {
46 size_t operator() ( const wxPoint& k ) const = delete;
47 };
48}
49
50namespace std
51{
52 template<> struct less<wxPoint>
53 {
54 bool operator()( const wxPoint& aA, const wxPoint& aB ) const;
55 };
56}
57
63std::ostream& operator<<( std::ostream& out, const wxSize& size );
64
70std::ostream& operator<<( std::ostream& out, const wxPoint& pt );
71
72#endif // KICAD_WX_STL_COMPAT_H
STL namespace.
size_t operator()(const wxString &s) const
bool operator()(const wxPoint &aA, const wxPoint &aB) const
std::ostream & operator<<(std::ostream &out, const wxSize &size)
Helper function to print the given wxSize to a stream.