some tools for diagrams in software documentation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// This is a supplement to the Active Template Library 3.0. | |
// Copyright (C) 2000 Microsoft Corporation | |
// All rights reserved. | |
// | |
// This source code is only intended for illustration. | |
#ifndef __CPIMPLMT_H__ | |
#define __CPIMPLMT_H__ | |
#include <atlcom.h> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#pragma once | |
#include <windows.h> | |
#include <string> | |
inline std::wstring multi2wide(const std::string& str, UINT codePage = CP_THREAD_ACP) | |
{ | |
if (str.empty()) | |
{ | |
return std::wstring(); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
param( | |
[string]$Dir = ".", | |
[string]$Filter = "*.cpp" | |
) | |
$ErrorActionPreference = "Stop" | |
$iwyu = "\path\to\bin\include-what-you-use.exe" | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/** | |
* @file endianness.h | |
* @brief Convert Endianness of shorts, longs, long longs, regardless of architecture/OS | |
* | |
* Defines (without pulling in platform-specific network include headers): | |
* bswap16, bswap32, bswap64, ntoh16, hton16, ntoh32 hton32, ntoh64, hton64 | |
* | |
* Should support linux / macos / solaris / windows. | |
* Supports GCC (on any platform, including embedded), MSVC2015, and clang, | |
* and should support intel, solaris, and ibm compilers as well. |
NOTE: Content below is written by Adrian Mace. Click here for an updated version.
Below are the key settings that I apply on any unifi installation for optimal performance.
- Ensure
Enable Advanced Features
is enabled
This allows you to follow along with the guide in it's entirety.
Enums today cannot provide any custom behavior via member functions. Behavior for enumeration types must be provided by traits classes or namespace-scope operator overloads and functions.
For some uses of enums, such as opaque ID wrapper or flags types, the inability to introduce hidden friend functions poisons the namespace scope of the enum (resulting in worse diagnostic and build times). Typically, custom operations and extension points should be defined as hidden friends to improve the experience of C++ developers using the type.
Consider:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" | |
xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" | |
xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> | |
<Bundle | |
Name="Example Product" | |
Version="1.2.3.4" | |
Manufacturer="John Doe" | |
Copyright="© 2023 John Doe" | |
AboutUrl="https://example.net/" |