This commit is contained in:
Moye 2024-10-28 14:07:29 +08:00
commit 0eee1bfbf3
569 changed files with 49975 additions and 0 deletions

BIN
.DS_Store vendored Normal file

Binary file not shown.

30
CMakeLists.txt Normal file
View File

@ -0,0 +1,30 @@
cmake_minimum_required(VERSION 3.15)
project(cplusplus_design_pattern)
set(CMAKE_CXX_STANDARD 11)
set(OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/bin/)
message(STATUS "output dir : ${OUTPUT_DIR}")
add_subdirectory(SimpleFactory)
add_subdirectory(factoryMethod)
add_subdirectory(abstractFactory)
add_subdirectory(builder)
add_subdirectory(singleton)
add_subdirectory(clone)
add_subdirectory(proxy)
add_subdirectory(bridge)
add_subdirectory(decorator)
add_subdirectory(adapter)
add_subdirectory(facade)
add_subdirectory(composite)
add_subdirectory(flyweight)
add_subdirectory(observer)
add_subdirectory(template)
add_subdirectory(strategy)
add_subdirectory(chainOfResponsibility)
add_subdirectory(state)
add_subdirectory(iterator)
add_subdirectory(visitor)
add_subdirectory(memento)
add_subdirectory(command)
add_subdirectory(interpreter)
add_subdirectory(mediator)

38
README.md Normal file
View File

@ -0,0 +1,38 @@
<!--
* @Description:
* @version:
* @Author: 莫邪
* @Date: 2023-10-08 10:37:55
* @LastEditors: 莫邪
* @LastEditTime: 2023-10-08 11:22:11
-->
设计模式是一种通用的、可重复利用的解决特定问题的软件设计方法。设计模式提供了在开发中常见问题的解决方案,它们是经过验证的最佳实践,有助于提高代码的可维护性、可读性和可扩展性。
使用设计模式有以下好处:
可维护性设计模式可以使代码更易于理解和维护。由于它们是经过广泛验证的解决方案其他开发人员可以更容易地理解您的代码从而减少了错误和bug的可能性。
可重用性:设计模式鼓励将代码分解成小块,这些小块可以在不同的项目中重复使用。这降低了代码重复的风险,提高了开发效率。
扩展性:设计模式有助于使代码更容易扩展,以满足未来的需求变化。您可以通过添加新的模式或扩展现有的模式来支持新功能。
降低耦合度:设计模式有助于降低代码中不同部分之间的紧密耦合度,使其更容易进行单元测试和模块化开发。
共享最佳实践:设计模式代表了许多经验丰富的开发人员在不同项目中的共享经验,这有助于确保您的代码遵循行业标准和最佳实践。
总之,使用设计模式可以提高软件的质量,减少错误,提高开发效率,并使代码更容易维护和扩展。设计模式是编程的强大工具,值得在软件开发中加以利用。
面向对象的设计原则 遵循可维护性 可复用性
高内聚:内聚是对软件系统中元素职责相关性和集中度的度量。如果元素具有高度相关的职责,除了这些职责内的任务,没有其它过多的工作,那么该元素就具有高内聚性;反之则成为低内聚性。
低耦合:耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据
1 单一职责 一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中 就一个类而言,应该仅有一个引起它变化的原因
2 开闭原则 软件实体应对扩展开放,对修改关闭
3 里氏代换原则 所有引用基类的地方必须能透明地使用其子类的对象
4 依赖倒转原则 高层模块不应该依赖低层模块,它们都应该依赖抽象 抽象不应该依赖于细节,细节应该依赖于抽象
5 接口隔离原则 客户端不应该依赖那些它不需要的接口
6 合成复用原则 优先使用对象组合,而不是通过继承来达到复用的目的
7 迪米特法则 每一个软件单位对其他单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位

View File

@ -0,0 +1,83 @@
/*
* @Description:
* @version:
* @Author:
* @Date: 2023-10-09 09:30:04
* @LastEditors:
* @LastEditTime: 2023-10-09 09:49:43
*/
#include <iostream>
#include <memory>
class AbstractBall {
public:
virtual ~AbstractBall() = default;
virtual void play() = 0;
};
class BasketBall : public AbstractBall {
public:
BasketBall() { play(); }
void play() override { std::cout << "play basketball" << std::endl; }
};
class Football : public AbstractBall {
public:
Football() { play(); }
void play() override { std::cout << "play football" << std::endl; }
};
class Volleyball : public AbstractBall {
public:
Volleyball() { play(); }
void play() override { std::cout << "play volleyball" << std::endl; }
};
class AbstractShirt {
public:
virtual ~AbstractShirt() = default;
virtual void wear() = 0;
};
class BasketShirt : public AbstractShirt {
public:
BasketShirt() { wear();}
void wear() override { std::cout << "wear basketShirt" << std::endl;}
};
class FootballShirt : public AbstractShirt {
public:
FootballShirt() { wear();}
void wear() override { std::cout << "wear footballShirt" << std::endl;}
};
class VolleyballShirt : public AbstractShirt {
public:
VolleyballShirt() { wear();}
void wear() override { std::cout << "wear volleyballShirt" << std::endl;}
};
class AbstractFactory {
public:
virtual ~AbstractFactory() = default;
virtual std::shared_ptr<AbstractBall> createBall() = 0;
virtual std::shared_ptr<AbstractShirt> createShirt() = 0;
};
class BasketballFactory : public AbstractFactory {
public:
std::shared_ptr<AbstractBall> createBall() override { return std::make_shared<BasketBall>(); }
std::shared_ptr<AbstractShirt> createShirt() override { return std::make_shared<BasketShirt>();}
};
class FootballFactory : public AbstractFactory {
public:
std::shared_ptr<AbstractBall> createBall() override { return std::make_shared<Football>(); }
std::shared_ptr<AbstractShirt> createShirt() override { return std::make_shared<FootballShirt>();}
};
class VolleyballFactory : public AbstractFactory {
public:
std::shared_ptr<AbstractBall> createBall() override { return std::make_shared<Volleyball>(); }
std::shared_ptr<AbstractShirt> createShirt() override { return std::make_shared<VolleyballShirt>();}
};

View File

@ -0,0 +1,11 @@
cmake_minimum_required(VERSION 3.10)
project(AbstractFactory)
#
set(SRC_LIST main.cpp)
#
get_filename_component(FOLDER_NAME ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
#
get_filename_component(FOLDER_NAME ${FOLDER_NAME} NAME)
#
set(EXECUTABLE_OUTPUT_PATH ${OUTPUT_DIR}/${FOLDER_NAME}/)
add_executable(abstractFactory ${SRC_LIST})

24
abstractFactory/main.cpp Normal file
View File

@ -0,0 +1,24 @@
/*
* @Description:
* @version:
* @Author:
* @Date: 2023-10-09 09:30:34
* @LastEditors:
* @LastEditTime: 2023-10-09 09:44:27
*/
#include "AbstractFactory.hpp"
int main() {
std::shared_ptr<AbstractFactory> factory = nullptr;
factory = std::make_shared<BasketballFactory>();
factory->createBall();
factory->createShirt();
factory = std::make_shared<FootballFactory>();
factory->createBall();
factory->createShirt();
factory = std::make_shared<VolleyballFactory>();
factory->createBall();
factory->createShirt();
return 0;
}

188
abstractFactory/readme.md Normal file
View File

@ -0,0 +1,188 @@
<!--
* @Description:
* @version:
* @Author: 莫邪
* @Date: 2023-10-09 09:30:39
* @LastEditors: 莫邪
* @LastEditTime: 2023-10-09 10:05:05
-->
# 抽象工厂模式
回顾其他两个工厂模式
**简易工厂**将所有逻辑都封装在一个工厂类中, 工厂依据客户提供的名字创建对应的产品
**工厂方法**将产品创建过程封装到一个具体的工厂类中, 每一个工厂可以创建一个具体的产品, 所以需要创建很多工厂
## 介绍
一个工厂不止可以建造一个产品, 他可以建造多个. 比如一个关于运动工厂, 他可以建造篮球, 足球 …
总之,一个工厂可以提供创建多种相关产品的接口,而无需像工厂方法一样,为每一个产品都提供一个具体工厂。
## 定义
抽象工厂模式结构与工厂方法模式结构类似,不同之处在于,一个具体工厂可以生产多种同类相关的产品:
抽象工厂AbstractFactory所有生产具体产品的工厂类的基类提供工厂类的公共方法
具体工厂ConcreteFactory生产具体的产品
抽象产品AbstractProduct所有产品的基类提供产品类的公共方法
具体产品ConcreteProduct具体的产品类
## 流程
• 抽象产品类AbstractBall, 球类的基类定义抽象方法play
```cpp
class AbstractBall {
public:
virtual ~AbstractBall() = default;
virtual void play() = 0;
};
```
• 具体产品类, 分别为Basketball、Football、Volleyball具体实现方法play
```cpp
class BasketBall : public AbstractBall {
public:
BasketBall() { play(); }
void play() override { std::cout << "play basketball" << std::endl; }
};
class Football : public AbstractBall {
public:
Football() { play(); }
void play() override { std::cout << "play football" << std::endl; }
};
class Volleyball : public AbstractBall {
public:
Volleyball() { play(); }
void play() override { std::cout << "play volleyball" << std::endl; }
};
```
• 抽象产品类AbstractShirt球衣类的基类定义抽象方法wear
```cpp
class AbstractShirt {
public:
virtual ~AbstractShirt() = default;
virtual void wear() = 0;
};
```
具体产品类BasketballShirt、FootballShirt、VolleyballShirt具体实现方法wear
```cpp
class BasketShirt : public AbstractShirt {
public:
BasketShirt() { wear();}
void wear() override { std::cout << "wear basketShirt" << std::endl;}
};
class FootballShirt : public AbstractShirt {
public:
FootballShirt() { wear();}
void wear() override { std::cout << "wear footballShirt" << std::endl;}
};
class VolleyballShirt : public AbstractShirt {
public:
VolleyballShirt() { wear();}
void wear() override { std::cout << "wear volleyballShirt" << std::endl;}
};
```
• 定义抽象工厂AbstractFactory声明两个方法createBall 和 createShirt
```cpp
class AbstractFactory {
public:
virtual ~AbstractFactory() = default;
virtual std::shared_ptr<AbstractBall> createBall() = 0;
virtual std::shared_ptr<AbstractShirt> createShirt() = 0;
};
```
• 定义具体工厂,重新具体实现两个方法
```cpp
class BasketballFactory : public AbstractFactory {
public:
std::shared_ptr<AbstractBall> createBall() override { return std::make_shared<BasketBall>(); }
std::shared_ptr<AbstractShirt> createShirt() override { return std::make_shared<BasketShirt>();}
};
class FootballFactory : public AbstractFactory {
public:
std::shared_ptr<AbstractBall> createBall() override { return std::make_shared<Football>(); }
std::shared_ptr<AbstractShirt> createShirt() override { return std::make_shared<FootballShirt>();}
};
class VolleyballFactory : public AbstractFactory {
public:
std::shared_ptr<AbstractBall> createBall() override { return std::make_shared<Volleyball>(); }
std::shared_ptr<AbstractShirt> createShirt() override { return std::make_shared<VolleyballShirt>();}
};
```
• 客户使用方式
```cpp
int main() {
std::shared_ptr<AbstractFactory> factory = nullptr;
factory = std::make_shared<BasketballFactory>();
factory->createBall();
factory->createShirt();
factory = std::make_shared<FootballFactory>();
factory->createBall();
factory->createShirt();
factory = std::make_shared<VolleyballFactory>();
factory->createBall();
factory->createShirt();
return 0;
}
```
## 效果
```cpp
./bin/design/AbstractFactory
play basketball
wear basketShirt
play football
wear footballShirt
play volleyball
wear volleyballShirt
```
## 总结
抽象工厂在增加一个系列的产品时 只需要增加一个对应产品的工厂就ok了.
但是在已有的具体产品中如果需要新增一类产品, 比如需要一个袜子, 鞋子就需要增加对应的接口和修改对应的工厂类.
## 优点:
- 工厂方法用于创建客户所需产品,同时向客户隐藏某个具体产品类将被实例化的细节,用户只需关心所需产品对应的工厂;
- 新加入产品系列时,无需修改原有系统,增强了系统的可扩展性,符合开闭原则。
## 缺点:
- 在已有产品系列中添加新产品时需要修改抽象层代码,对原有系统改动较大,违背开闭原则
## 适用
- 一系列/一族产品需要被同时使用时,适合使用抽象工厂模式;
- 产品结构稳定,设计完成之后不会向系统中新增或剔除某个产品
三种工厂模式中,简单工厂和工厂方法比较常用,抽象工厂的应用场景比较特殊,所以很少用到.
工厂模式,它的作用无外乎下面这四个。这也是判断要不要使用工厂模式的最本质的参考标准。
- 封装变化:创建逻辑有可能变化,封装成工厂类之后,创建逻辑的变更对调用者透明。
- 代码复用:创建代码抽离到独立的工厂类之后可以复用。
- 隔离复杂性:封装复杂的创建逻辑,调用者无需了解如何创建对象。
- 控制复杂度:将创建代码抽离出来,让原本的函数或类职责更单一,代码更简洁。

43
adapter/Adapter.hpp Normal file
View File

@ -0,0 +1,43 @@
/*
* @Description:
* @version:
* @Author:
* @Date: 2023-10-18 10:46:40
* @LastEditors:
* @LastEditTime: 2023-10-18 10:59:21
*/
#include <iostream>
#include <memory>
//micro-usb类
class MicroUSBCharger {
public:
const std::string chargeWithMicroUSB() {
return "Charging with Micro-USB";
}
};
//usb-c类
class USB_CPhone{
public:
const std::string chargeWithUSB_C() {
return "Charging with USB-C";
}
};
//对象适配器
class ObjectChargeAdapter: public USB_CPhone {
MicroUSBCharger microUSBCharger;
public:
const std::string chargeWithUSB_C() {
return microUSBCharger.chargeWithMicroUSB();
}
};
//类适配器
class ClassChargeAdapter: public MicroUSBCharger ,private USB_CPhone {
public:
const std::string chargeWithUSB_C() {
return chargeWithMicroUSB();
}
};

11
adapter/CMakeLists.txt Normal file
View File

@ -0,0 +1,11 @@
cmake_minimum_required(VERSION 3.10)
project(Adapter)
#
set(SRC_LIST main.cpp)
#
get_filename_component(FOLDER_NAME ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
#
get_filename_component(FOLDER_NAME ${FOLDER_NAME} NAME)
#
set(EXECUTABLE_OUTPUT_PATH ${OUTPUT_DIR}/${FOLDER_NAME}/)
add_executable(adapter ${SRC_LIST})

17
adapter/main.cpp Normal file
View File

@ -0,0 +1,17 @@
/*
* @Description:
* @version:
* @Author:
* @Date: 2023-10-18 10:46:43
* @LastEditors:
* @LastEditTime: 2023-10-18 10:59:33
*/
#include "Adapter.hpp"
int main() {
ObjectChargeAdapter new_phone;
std::cout << new_phone.chargeWithUSB_C() << std::endl;
ClassChargeAdapter new_phone1;
std::cout << new_phone1.chargeWithUSB_C() << std::endl;
return 0;
}

119
adapter/readme.md Normal file
View File

@ -0,0 +1,119 @@
<!--
* @Description:
* @version:
* @Author: 莫邪
* @Date: 2023-10-18 11:06:07
* @LastEditors: 莫邪
* @LastEditTime: 2023-10-18 11:06:08
-->
# 适配器模式
代理、桥接、装饰器、适配器这4种模式是比较常用的结构型设计模式.
它们之间的区别。
- **代理模式:**代理模式在不改变原始类接口的条件下,为原始类定义一个代理类,主要目的是控制访问,而非加强功能,这是它跟装饰器模式最大的不同。
- **桥接模式:**桥接模式的目的是将接口部分和实现部分分离,从而让它们可以较为容易、也相对独立地加以改变。
- **装饰器模式:**装饰者模式在不改变原始类接口的情况下,对原始类功能进行增强,并且支持多个装饰器的嵌套使用。
- **适配器模式:**适配器模式是一种事后的补救策略。适配器提供跟原始类不同的接口,而代理模式、装饰器模式提供的都是跟原始类相同的接口。
## 介绍
适配器模式**Adapter Pattern,** 也称为包装器模式**Wrapper Pattern,** 是一种结构型设计模式。该模式允许对象的接口与客户端的期望接口不匹配时协同工作. 适配器模式创建一个包装类, 该包装类包含了原始类的实例, 并实现了客户端所期望的接口. 通过这种方式, 适配器模式允许原始类与客户端协同工作, 尽管它们的接口不一致.
强调一个类的接口适配成另一个类的接口, 使原本不兼容的类能够协同工作.
通常有两种主要类型:
类适配器, 使用多继承或接口实现来适配接口.
对象适配器, 使用组合来包装原始类的实例, 以实现新的接口.
## 定义
想象你有一部新的手机它使用USB-C充电接口但你在家里只有一个旧的手机充电器它使用Micro-USB接口。你不想购买一个新的充电器而是想找到一种方法使旧的充电器与你的新手机兼容。这就是适配器模式的应用。
在这个例子中:
1. **问题:** 你有一个新的手机和一个旧的充电器,它们的接口不匹配,但你想要充电。
2. **解决方案(适配器):** 你可以获得一个USB-C到Micro-USB适配器。这个适配器连接到你的新手机的USB-C接口并允许你将旧的Micro-USB充电器连接到它。
3. **效果:** 现在,你可以使用旧的充电器来为新手机充电,而无需购买新的充电器。适配器充当一个中间层,使不兼容的部分协同工作。
使用usb-c的手机
```cpp
class USB_CPhone{
public:
const std::string chargeWithUSB_C() {
return "Charging with USB-C";
}
};
```
旧手机充电线
```cpp
class MicroUSBCharger {
public:
const std::string chargeWithMicroUSB() {
return "Charging with Micro-USB";
}
};
```
适配器
```cpp
//对象适配器
class ObjectChargeAdapter: public USB_CPhone {
MicroUSBCharger microUSBCharger;
public:
const std::string chargeWithUSB_C() {
return microUSBCharger.chargeWithMicroUSB();
}
};
//类适配器
class ClassChargeAdapter: public MicroUSBCharger ,private USB_CPhone {
public:
const std::string chargeWithUSB_C() {
return chargeWithMicroUSB();
}
};
```
## 调用
```cpp
ObjectChargeAdapter new_phone;
std::cout << new_phone.chargeWithUSB_C() << std::endl;
ClassChargeAdapter new_phone1;
std::cout << new_phone1.chargeWithUSB_C() << std::endl;
```
## 效果
```cpp
./bin/design/Adapter
Charging with Micro-USB
Charging with Micro-USB
```
## 适用
1. **接口不匹配:** 当你需要使用一个已经存在的类,但它的接口与你的需求不匹配时,适配器模式很有用。这可以是由于新旧系统之间接口不一致,或者是由于第三方库的接口与你的代码不兼容。
2. **代码复用:** 适配器模式有助于重用现有的类,而不必对其进行修改。这对于避免修改稳定的代码或依赖于外部库的代码非常有用。
3. **无法修改源代码:** 当你不能修改原始类的源代码,但需要使其与其他类协同工作时,适配器模式是一种有效的解决方案。
4. **兼容性:** 当你希望让不同接口的类在一起工作,以提高系统的整体兼容性时,适配器模式非常有帮助。
5. **新旧系统集成:** 在迁移到新系统时,你可能需要将旧系统的组件与新系统集成。适配器模式可以帮助你连接新旧系统的组件,以确保它们能够协同工作。
6. **接口的抽象:** 适配器模式可以用来创建更抽象的接口,使得客户端代码更灵活和独立于具体类的实现。
总之,适配器模式在需要将不兼容的接口进行协调工作、重用现有代码、维护代码的稳定性和提高系统的可扩展性时非常有用。它有助于降低代码的耦合度,并使不同组件能够相互协同工作,同时保持代码的整洁和易于维护。
那在实际的开发中,什么情况下才会出现接口不兼容呢?
- 封装有缺陷的接口设计
- 统一多个类的接口设计
- 替换依赖的外部系统
- 兼容老版本接口
- 适配不同格式的数据

BIN
bin/design/abstractFactory Executable file

Binary file not shown.

BIN
bin/design/adapter Executable file

Binary file not shown.

BIN
bin/design/bridge Executable file

Binary file not shown.

BIN
bin/design/builder Executable file

Binary file not shown.

BIN
bin/design/chainOfResponsibility Executable file

Binary file not shown.

BIN
bin/design/clone Executable file

Binary file not shown.

BIN
bin/design/command Executable file

Binary file not shown.

BIN
bin/design/composite Executable file

Binary file not shown.

BIN
bin/design/decorator Executable file

Binary file not shown.

BIN
bin/design/facade Executable file

Binary file not shown.

BIN
bin/design/factoryMethod Executable file

Binary file not shown.

BIN
bin/design/flyWeight Executable file

Binary file not shown.

BIN
bin/design/interpreter Executable file

Binary file not shown.

BIN
bin/design/iterator Executable file

Binary file not shown.

BIN
bin/design/mediator Executable file

Binary file not shown.

BIN
bin/design/memento Executable file

Binary file not shown.

BIN
bin/design/observer Executable file

Binary file not shown.

BIN
bin/design/proxy Executable file

Binary file not shown.

BIN
bin/design/simpleFactory Executable file

Binary file not shown.

BIN
bin/design/singleton Executable file

Binary file not shown.

BIN
bin/design/state Executable file

Binary file not shown.

BIN
bin/design/strategy Executable file

Binary file not shown.

BIN
bin/design/template Executable file

Binary file not shown.

BIN
bin/design/visitor Executable file

Binary file not shown.

72
bridge/Bridge.hpp Normal file
View File

@ -0,0 +1,72 @@
/*
* @Description:
* @version:
* @Author:
* @Date: 2023-10-16 09:43:55
* @LastEditors:
* @LastEditTime: 2023-10-16 11:12:45
*/
#include <iostream>
#include <memory>
class Game {
std::string name;
public:
Game(std::string name) : name(name) {}
virtual ~Game() = default;
virtual void Play() = 0;
void print() { std::cout << name << std::endl; }
};
class RunningGame : public Game {
public:
RunningGame() : Game("Running") {}
void Play() override { std::cout << "Play Running Game." << std::endl; }
};
class ShootingGame : public Game {
public:
ShootingGame() : Game("Shooting") {}
void Play() override { std::cout << "Play Shooting Game." << std::endl; }
};
class Phone {
std::shared_ptr<Game> game;
public:
Phone() {}
virtual ~Phone() = default;
virtual void Download(std::shared_ptr<Game> game) = 0;
virtual void Open() = 0;
};
class iPhone : public Phone {
std::shared_ptr<Game> game;
public:
void Download(std::shared_ptr<Game> game) override {
std::cout << "iPhone. download ";
game->print();
this->game = game;
}
void Open() override {
std::cout << "iPhone. start ";
game->Play();
}
};
class Samsung : public Phone {
std::shared_ptr<Game> game;
public:
void Download(std::shared_ptr<Game> game) override {
std::cout << "Samsung. download ";
game->print();
this->game = game;
}
void Open() override {
std::cout << "Samsung. start ";
game->Play();
}
};

11
bridge/CMakeLists.txt Normal file
View File

@ -0,0 +1,11 @@
cmake_minimum_required(VERSION 3.10)
project(Bridge)
#
set(SRC_LIST main.cpp)
#
get_filename_component(FOLDER_NAME ${CMAKE_CURRENT_SOURCE_DIR} DIRECTORY)
#
get_filename_component(FOLDER_NAME ${FOLDER_NAME} NAME)
#
set(EXECUTABLE_OUTPUT_PATH ${OUTPUT_DIR}/${FOLDER_NAME}/)
add_executable(bridge ${SRC_LIST})

29
bridge/main.cpp Normal file
View File

@ -0,0 +1,29 @@
/*
* @Description:
* @version:
* @Author:
* @Date: 2023-10-16 09:43:58
* @LastEditors:
* @LastEditTime: 2023-10-16 11:08:17
*/
#include "Bridge.hpp"
int main() {
//有两个游戏
auto running = std::make_shared<RunningGame>();
auto shooting = std::make_shared<ShootingGame>();
//两个手机
auto iphone = std::make_shared<iPhone>();
auto samsung = std::make_shared<Samsung>();
//下载游戏
iphone->Download(running);
samsung->Download(shooting);
//运行游戏
iphone->Open();
samsung->Open();
//换个游戏
samsung->Download(running);
//运行游戏
samsung->Open();
return 0;
}

156
bridge/readme.md Normal file
View File

@ -0,0 +1,156 @@
## 介绍
桥接模式应该是比较难理解的模式之一, 但是代码的实现相对简单.
对于这个模式可能有两种不同的理解方式
在GoF的《设计模式》一书中桥接模式是这么定义的
`“Decouple an abstraction from its implementation so that the two can vary independently。”`
翻译成中文就是:
`“将抽象和实现解耦,让它们可以独立变化。”`
另外一种理解方式:
`“一个类存在两个(或多个)独立变化的维度,我们通过组合的方式,让这两个(或多个)维度可以独立进行扩展。”`
通过组合关系来替代继承关系, 避免继承层次的指数级爆炸. 这种理解方式非常类似于`组合优于继承`设计原则.
## 原理
就以手机, 和游戏进行举例
手机可以有多个品牌, 可以有华为, 小米, 苹果….
游戏有多个种类, 射击, 冒险, 闯关…
华为可以玩 射击, 冒险, 小米可以玩 冒险, 闯关… 可以有很多种组合
**游戏基类**
```cpp
class Game {
std::string name;
public:
Game(std::string name) : name(name) {}
virtual ~Game() = default;
virtual void Play() = 0;
void print() { std::cout << name << std::endl; }
};
```
**实现**
```cpp
class RunningGame : public Game {
public:
RunningGame() : Game("Running") {}
void Play() override { std::cout << "Play Running Game." << std::endl; }
};
class ShootingGame : public Game {
public:
ShootingGame() : Game("Shooting") {}
void Play() override { std::cout << "Play Shooting Game." << std::endl; }
};
```
**手机基类**
```cpp
class Phone {
std::shared_ptr<Game> game;
public:
Phone() {}
virtual ~Phone() = default;
virtual void Download(std::shared_ptr<Game> game) = 0;
virtual void Open() = 0;
};
```
**实现**
```cpp
class iPhone : public Phone {
std::shared_ptr<Game> game;
public:
void Download(std::shared_ptr<Game> game) override {
std::cout << "iPhone. download ";
game->print();
this->game = game;
}
void Open() override {
std::cout << "iPhone. start ";
game->Play();
}
};
class Samsung : public Phone {
std::shared_ptr<Game> game;
public:
void Download(std::shared_ptr<Game> game) override {
std::cout << "Samsung. download ";
game->print();
this->game = game;
}
void Open() override {
std::cout << "Samsung. start ";
game->Play();
}
};
```
## 调用方式
```cpp
//有两个游戏
auto running = std::make_shared<RunningGame>();
auto shooting = std::make_shared<ShootingGame>();
//两个手机
auto iphone = std::make_shared<iPhone>();
auto samsung = std::make_shared<Samsung>();
//下载游戏
iphone->Download(running);
samsung->Download(shooting);
//运行游戏
iphone->Open();
samsung->Open();
//换个游戏
samsung->Download(running);
//运行游戏
samsung->Open();
```
## **效果**
```cpp
./bin/design/Bridge
iPhone. download Running
Samsung. download Shooting
iPhone. start Play Running Game.
Samsung. start Play Shooting Game.
Samsung. download Running
Samsung. start Play Running Game.
```
## 结论
通过桥接模式,我们可以灵活地组合不同品牌的手机和不同名字的游戏,而不需要为每一种组合编写新的代码。这提供了更好的可维护性和扩展性,允许我们在不修改现有类的情况下添加新的手机品牌和游戏。
优点:
1. 分离抽象接口及其实现部分。使得抽象和实现可以沿着各自的维度来变化,也就是说抽象和实现不再在同一个继承层次结构中,而是“子类化”它们,使它们各自都具有自己的子类,以便任何组合子类,从而获得多维度组合对象。
2. 在很多情况下,桥接模式可以取代多层继承方案,多层继承方案违背了“单一职责原则”,复用性较差,且类的个数非常多,桥接模式是比多层继承方案更好的解决方法,它极大减少了子类的个数。
桥接模式**提高了系统的可扩展性**,在两个变化维度中任意扩展一个维度,都不需要修改原有系统,符合“开闭原则”
缺点:
1. 桥接模式的使用会增加系统的理解与设计难度,由于关联关系建立在抽象层,要求开发者一开始就针对抽象层进行设计与编程。
2. 桥接模式要求正确识别出系统中两个独立变化的维度,因此其**使用范围具有一定的局限性**,如何正确识别两个独立维度也需要一定的经验积累。

View File

@ -0,0 +1 @@
{"requests":[{"kind":"cache","version":2},{"kind":"codemodel","version":2},{"kind":"toolchains","version":1},{"kind":"cmakeFiles","version":1}]}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,233 @@
{
"inputs" :
[
{
"path" : "CMakeLists.txt"
},
{
"isGenerated" : true,
"path" : "build/CMakeFiles/3.26.4/CMakeSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/CMakeSystemSpecificInitialize.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Platform/Darwin-Initialize.cmake"
},
{
"isGenerated" : true,
"path" : "build/CMakeFiles/3.26.4/CMakeCCompiler.cmake"
},
{
"isGenerated" : true,
"path" : "build/CMakeFiles/3.26.4/CMakeCXXCompiler.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/CMakeSystemSpecificInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/CMakeGenericSystem.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/CMakeInitializeConfigs.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Platform/Darwin.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Platform/UnixPaths.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/CMakeCInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Compiler/AppleClang-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Compiler/Clang.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Compiler/GNU.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Compiler/CMakeCommonCompilerMacros.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Platform/Apple-AppleClang-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Platform/Apple-Clang-C.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Platform/Apple-Clang.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/CMakeCXXInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/CMakeLanguageInformation.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Compiler/AppleClang-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Compiler/Clang.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Platform/Apple-AppleClang-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Platform/Apple-Clang-CXX.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/Platform/Apple-Clang.cmake"
},
{
"isCMake" : true,
"isExternal" : true,
"path" : "/Applications/CMake.app/Contents/share/cmake-3.26/Modules/CMakeCommonLanguageInclude.cmake"
},
{
"path" : "SimpleFactory/CMakeLists.txt"
},
{
"path" : "factoryMethod/CMakeLists.txt"
},
{
"path" : "abstractFactory/CMakeLists.txt"
},
{
"path" : "builder/CMakeLists.txt"
},
{
"path" : "singleton/CMakeLists.txt"
},
{
"path" : "clone/CMakeLists.txt"
},
{
"path" : "proxy/CMakeLists.txt"
},
{
"path" : "bridge/CMakeLists.txt"
},
{
"path" : "decorator/CMakeLists.txt"
},
{
"path" : "adapter/CMakeLists.txt"
},
{
"path" : "facade/CMakeLists.txt"
},
{
"path" : "composite/CMakeLists.txt"
},
{
"path" : "flyweight/CMakeLists.txt"
},
{
"path" : "observer/CMakeLists.txt"
},
{
"path" : "template/CMakeLists.txt"
},
{
"path" : "strategy/CMakeLists.txt"
},
{
"path" : "chainOfResponsibility/CMakeLists.txt"
},
{
"path" : "state/CMakeLists.txt"
},
{
"path" : "iterator/CMakeLists.txt"
},
{
"path" : "visitor/CMakeLists.txt"
},
{
"path" : "memento/CMakeLists.txt"
},
{
"path" : "command/CMakeLists.txt"
},
{
"path" : "interpreter/CMakeLists.txt"
},
{
"path" : "mediator/CMakeLists.txt"
}
],
"kind" : "cmakeFiles",
"paths" :
{
"build" : "/Users/moye/code/Design/build",
"source" : "/Users/moye/code/Design"
},
"version" :
{
"major" : 1,
"minor" : 0
}
}

View File

@ -0,0 +1,915 @@
{
"configurations" :
[
{
"directories" :
[
{
"build" : ".",
"childIndexes" :
[
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24
],
"jsonFile" : "directory-.-Debug-f5ebdc15457944623624.json",
"minimumCMakeVersion" :
{
"string" : "3.15"
},
"projectIndex" : 0,
"source" : "."
},
{
"build" : "SimpleFactory",
"jsonFile" : "directory-SimpleFactory-Debug-451ee50963bf21052da0.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 1,
"source" : "SimpleFactory",
"targetIndexes" :
[
18
]
},
{
"build" : "factoryMethod",
"jsonFile" : "directory-factoryMethod-Debug-d86885b6cc17170c0428.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 2,
"source" : "factoryMethod",
"targetIndexes" :
[
10
]
},
{
"build" : "abstractFactory",
"jsonFile" : "directory-abstractFactory-Debug-ade70e5c13b8c226e6b7.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 3,
"source" : "abstractFactory",
"targetIndexes" :
[
0
]
},
{
"build" : "builder",
"jsonFile" : "directory-builder-Debug-ee771678a71e618352ac.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 4,
"source" : "builder",
"targetIndexes" :
[
3
]
},
{
"build" : "singleton",
"jsonFile" : "directory-singleton-Debug-41d35240fe905a901f76.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 5,
"source" : "singleton",
"targetIndexes" :
[
19
]
},
{
"build" : "clone",
"jsonFile" : "directory-clone-Debug-7d5f6c7c49574a472765.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 6,
"source" : "clone",
"targetIndexes" :
[
5
]
},
{
"build" : "proxy",
"jsonFile" : "directory-proxy-Debug-059fe916dfb10a7efb52.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 7,
"source" : "proxy",
"targetIndexes" :
[
17
]
},
{
"build" : "bridge",
"jsonFile" : "directory-bridge-Debug-474fada2a5039e4b4430.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 8,
"source" : "bridge",
"targetIndexes" :
[
2
]
},
{
"build" : "decorator",
"jsonFile" : "directory-decorator-Debug-2cb1812bba392ef618aa.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 9,
"source" : "decorator",
"targetIndexes" :
[
8
]
},
{
"build" : "adapter",
"jsonFile" : "directory-adapter-Debug-fdcdf856a59ad113b213.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 10,
"source" : "adapter",
"targetIndexes" :
[
1
]
},
{
"build" : "facade",
"jsonFile" : "directory-facade-Debug-45ba2eb4ccbce7ddb211.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 11,
"source" : "facade",
"targetIndexes" :
[
9
]
},
{
"build" : "composite",
"jsonFile" : "directory-composite-Debug-4a01c53313ed1f864b0d.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 12,
"source" : "composite",
"targetIndexes" :
[
7
]
},
{
"build" : "flyweight",
"jsonFile" : "directory-flyweight-Debug-0b0b165cb4e7e51486bd.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 13,
"source" : "flyweight",
"targetIndexes" :
[
11
]
},
{
"build" : "observer",
"jsonFile" : "directory-observer-Debug-0a438a70d07d7bab0fdb.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 14,
"source" : "observer",
"targetIndexes" :
[
16
]
},
{
"build" : "template",
"jsonFile" : "directory-template-Debug-fab23699a019dfe38ff2.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 15,
"source" : "template",
"targetIndexes" :
[
22
]
},
{
"build" : "strategy",
"jsonFile" : "directory-strategy-Debug-2460f2bf373932ce3e83.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 16,
"source" : "strategy",
"targetIndexes" :
[
21
]
},
{
"build" : "chainOfResponsibility",
"jsonFile" : "directory-chainOfResponsibility-Debug-54172ab02f82979453ad.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 17,
"source" : "chainOfResponsibility",
"targetIndexes" :
[
4
]
},
{
"build" : "state",
"jsonFile" : "directory-state-Debug-1fa724529672778e60d7.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 18,
"source" : "state",
"targetIndexes" :
[
20
]
},
{
"build" : "iterator",
"jsonFile" : "directory-iterator-Debug-f21a9004d384b4181d1e.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 19,
"source" : "iterator",
"targetIndexes" :
[
13
]
},
{
"build" : "visitor",
"jsonFile" : "directory-visitor-Debug-38892c72462b95ef59c8.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 20,
"source" : "visitor",
"targetIndexes" :
[
23
]
},
{
"build" : "memento",
"jsonFile" : "directory-memento-Debug-73510c6c4f724f36e267.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 21,
"source" : "memento",
"targetIndexes" :
[
15
]
},
{
"build" : "command",
"jsonFile" : "directory-command-Debug-fb1bb45cad38f7bf8058.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 22,
"source" : "command",
"targetIndexes" :
[
6
]
},
{
"build" : "interpreter",
"jsonFile" : "directory-interpreter-Debug-24811cf786ac82e7ac4a.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 23,
"source" : "interpreter",
"targetIndexes" :
[
12
]
},
{
"build" : "mediator",
"jsonFile" : "directory-mediator-Debug-03d813d5b751b266d14b.json",
"minimumCMakeVersion" :
{
"string" : "3.10"
},
"parentIndex" : 0,
"projectIndex" : 24,
"source" : "mediator",
"targetIndexes" :
[
14
]
}
],
"name" : "Debug",
"projects" :
[
{
"childIndexes" :
[
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24
],
"directoryIndexes" :
[
0
],
"name" : "cplusplus_design_pattern"
},
{
"directoryIndexes" :
[
1
],
"name" : "SimpleFactory",
"parentIndex" : 0,
"targetIndexes" :
[
18
]
},
{
"directoryIndexes" :
[
2
],
"name" : "FactoryMethod",
"parentIndex" : 0,
"targetIndexes" :
[
10
]
},
{
"directoryIndexes" :
[
3
],
"name" : "AbstractFactory",
"parentIndex" : 0,
"targetIndexes" :
[
0
]
},
{
"directoryIndexes" :
[
4
],
"name" : "Builder",
"parentIndex" : 0,
"targetIndexes" :
[
3
]
},
{
"directoryIndexes" :
[
5
],
"name" : "Singleton",
"parentIndex" : 0,
"targetIndexes" :
[
19
]
},
{
"directoryIndexes" :
[
6
],
"name" : "Clone",
"parentIndex" : 0,
"targetIndexes" :
[
5
]
},
{
"directoryIndexes" :
[
7
],
"name" : "Proxy",
"parentIndex" : 0,
"targetIndexes" :
[
17
]
},
{
"directoryIndexes" :
[
8
],
"name" : "Bridge",
"parentIndex" : 0,
"targetIndexes" :
[
2
]
},
{
"directoryIndexes" :
[
9
],
"name" : "Decorator",
"parentIndex" : 0,
"targetIndexes" :
[
8
]
},
{
"directoryIndexes" :
[
10
],
"name" : "Adapter",
"parentIndex" : 0,
"targetIndexes" :
[
1
]
},
{
"directoryIndexes" :
[
11
],
"name" : "Facade",
"parentIndex" : 0,
"targetIndexes" :
[
9
]
},
{
"directoryIndexes" :
[
12
],
"name" : "Composite",
"parentIndex" : 0,
"targetIndexes" :
[
7
]
},
{
"directoryIndexes" :
[
13
],
"name" : "flyWeight",
"parentIndex" : 0,
"targetIndexes" :
[
11
]
},
{
"directoryIndexes" :
[
14
],
"name" : "Observer",
"parentIndex" : 0,
"targetIndexes" :
[
16
]
},
{
"directoryIndexes" :
[
15
],
"name" : "Template",
"parentIndex" : 0,
"targetIndexes" :
[
22
]
},
{
"directoryIndexes" :
[
16
],
"name" : "Strategy",
"parentIndex" : 0,
"targetIndexes" :
[
21
]
},
{
"directoryIndexes" :
[
17
],
"name" : "ChainOfResponsibility",
"parentIndex" : 0,
"targetIndexes" :
[
4
]
},
{
"directoryIndexes" :
[
18
],
"name" : "State",
"parentIndex" : 0,
"targetIndexes" :
[
20
]
},
{
"directoryIndexes" :
[
19
],
"name" : "Iterator",
"parentIndex" : 0,
"targetIndexes" :
[
13
]
},
{
"directoryIndexes" :
[
20
],
"name" : "Visitor",
"parentIndex" : 0,
"targetIndexes" :
[
23
]
},
{
"directoryIndexes" :
[
21
],
"name" : "Memento",
"parentIndex" : 0,
"targetIndexes" :
[
15
]
},
{
"directoryIndexes" :
[
22
],
"name" : "Command",
"parentIndex" : 0,
"targetIndexes" :
[
6
]
},
{
"directoryIndexes" :
[
23
],
"name" : "Interpreter",
"parentIndex" : 0,
"targetIndexes" :
[
12
]
},
{
"directoryIndexes" :
[
24
],
"name" : "Mediator",
"parentIndex" : 0,
"targetIndexes" :
[
14
]
}
],
"targets" :
[
{
"directoryIndex" : 3,
"id" : "abstractFactory::@92237ee81df97d7656a2",
"jsonFile" : "target-abstractFactory-Debug-4207ba6ac9585a24c184.json",
"name" : "abstractFactory",
"projectIndex" : 3
},
{
"directoryIndex" : 10,
"id" : "adapter::@7836dd37d6d479cf13f2",
"jsonFile" : "target-adapter-Debug-e0c198393fa7884c777d.json",
"name" : "adapter",
"projectIndex" : 10
},
{
"directoryIndex" : 8,
"id" : "bridge::@5d86fe588f3a0996b685",
"jsonFile" : "target-bridge-Debug-ccf387c7acc2e7b46178.json",
"name" : "bridge",
"projectIndex" : 8
},
{
"directoryIndex" : 4,
"id" : "builder::@57f5f9fdb86bdb0b3cc6",
"jsonFile" : "target-builder-Debug-e5606e026627eb03a703.json",
"name" : "builder",
"projectIndex" : 4
},
{
"directoryIndex" : 17,
"id" : "chainOfResponsibility::@c57e1e58c4034ea49bad",
"jsonFile" : "target-chainOfResponsibility-Debug-8e019cdd7e3bc2e16a48.json",
"name" : "chainOfResponsibility",
"projectIndex" : 17
},
{
"directoryIndex" : 6,
"id" : "clone::@6c2e44307f8d1dc9cf7f",
"jsonFile" : "target-clone-Debug-8dfb19681d12538edf9e.json",
"name" : "clone",
"projectIndex" : 6
},
{
"directoryIndex" : 22,
"id" : "command::@ec3faa76f6536ff204f7",
"jsonFile" : "target-command-Debug-d72b5c09c53c36ef16ef.json",
"name" : "command",
"projectIndex" : 22
},
{
"directoryIndex" : 12,
"id" : "composite::@51cbb552efd36f6bef6e",
"jsonFile" : "target-composite-Debug-c09541c89856acd2d4d3.json",
"name" : "composite",
"projectIndex" : 12
},
{
"directoryIndex" : 9,
"id" : "decorator::@68fc26dd27423b244659",
"jsonFile" : "target-decorator-Debug-c478cd5ec8b68502e515.json",
"name" : "decorator",
"projectIndex" : 9
},
{
"directoryIndex" : 11,
"id" : "facade::@d2a50f670da7414a1c4b",
"jsonFile" : "target-facade-Debug-87900f342f38b7367682.json",
"name" : "facade",
"projectIndex" : 11
},
{
"directoryIndex" : 2,
"id" : "factoryMethod::@8f561f0b17088acfc6e4",
"jsonFile" : "target-factoryMethod-Debug-7546115a1b22aa692862.json",
"name" : "factoryMethod",
"projectIndex" : 2
},
{
"directoryIndex" : 13,
"id" : "flyWeight::@b4c5663a18bf5668fc31",
"jsonFile" : "target-flyWeight-Debug-d07aa5c0ceb0e62506dc.json",
"name" : "flyWeight",
"projectIndex" : 13
},
{
"directoryIndex" : 23,
"id" : "interpreter::@53be9898ecdd411495e6",
"jsonFile" : "target-interpreter-Debug-5192f1a5429f7b6f0578.json",
"name" : "interpreter",
"projectIndex" : 23
},
{
"directoryIndex" : 19,
"id" : "iterator::@29c4608fd8fff063f8ac",
"jsonFile" : "target-iterator-Debug-dbd57c70b4d9dd208214.json",
"name" : "iterator",
"projectIndex" : 19
},
{
"directoryIndex" : 24,
"id" : "mediator::@ad02dd5acc3bf0c2af65",
"jsonFile" : "target-mediator-Debug-0c37b5d6ebfa9d99f964.json",
"name" : "mediator",
"projectIndex" : 24
},
{
"directoryIndex" : 21,
"id" : "memento::@49f64ec5854b9325444e",
"jsonFile" : "target-memento-Debug-dcadab768babc08e31c9.json",
"name" : "memento",
"projectIndex" : 21
},
{
"directoryIndex" : 14,
"id" : "observer::@1c94c88f6a36090536bd",
"jsonFile" : "target-observer-Debug-d553520b45649e14ea4e.json",
"name" : "observer",
"projectIndex" : 14
},
{
"directoryIndex" : 7,
"id" : "proxy::@154b2008a8c6b744f82a",
"jsonFile" : "target-proxy-Debug-ae10e2052dbf5b467ac4.json",
"name" : "proxy",
"projectIndex" : 7
},
{
"directoryIndex" : 1,
"id" : "simpleFactory::@9dded28bbdbc4249a6d8",
"jsonFile" : "target-simpleFactory-Debug-39d0bf342abcc3b66d70.json",
"name" : "simpleFactory",
"projectIndex" : 1
},
{
"directoryIndex" : 5,
"id" : "singleton::@bf0005027cf952625567",
"jsonFile" : "target-singleton-Debug-5db21b1d8d9b33f3ca85.json",
"name" : "singleton",
"projectIndex" : 5
},
{
"directoryIndex" : 18,
"id" : "state::@bd49b55f21b7dc8ed194",
"jsonFile" : "target-state-Debug-88331780f430840c6118.json",
"name" : "state",
"projectIndex" : 18
},
{
"directoryIndex" : 16,
"id" : "strategy::@241ee8dc02c6c148167d",
"jsonFile" : "target-strategy-Debug-71f36c2da319920c9d81.json",
"name" : "strategy",
"projectIndex" : 16
},
{
"directoryIndex" : 15,
"id" : "template::@819783a551a942c93948",
"jsonFile" : "target-template-Debug-f4a11be155448aedf0ec.json",
"name" : "template",
"projectIndex" : 15
},
{
"directoryIndex" : 20,
"id" : "visitor::@c0f9ad8a0077d2586eab",
"jsonFile" : "target-visitor-Debug-ee5e91db33a89b1caef5.json",
"name" : "visitor",
"projectIndex" : 20
}
]
}
],
"kind" : "codemodel",
"paths" :
{
"build" : "/Users/moye/code/Design/build",
"source" : "/Users/moye/code/Design"
},
"version" :
{
"major" : 2,
"minor" : 5
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : ".",
"source" : "."
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "SimpleFactory",
"source" : "SimpleFactory"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "abstractFactory",
"source" : "abstractFactory"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "adapter",
"source" : "adapter"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "bridge",
"source" : "bridge"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "builder",
"source" : "builder"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "chainOfResponsibility",
"source" : "chainOfResponsibility"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "clone",
"source" : "clone"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "command",
"source" : "command"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "composite",
"source" : "composite"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "decorator",
"source" : "decorator"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "facade",
"source" : "facade"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "factoryMethod",
"source" : "factoryMethod"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "flyweight",
"source" : "flyweight"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "interpreter",
"source" : "interpreter"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "iterator",
"source" : "iterator"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "mediator",
"source" : "mediator"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "memento",
"source" : "memento"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "observer",
"source" : "observer"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "proxy",
"source" : "proxy"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "singleton",
"source" : "singleton"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "state",
"source" : "state"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "strategy",
"source" : "strategy"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "template",
"source" : "template"
}
}

View File

@ -0,0 +1,14 @@
{
"backtraceGraph" :
{
"commands" : [],
"files" : [],
"nodes" : []
},
"installers" : [],
"paths" :
{
"build" : "visitor",
"source" : "visitor"
}
}

View File

@ -0,0 +1,132 @@
{
"cmake" :
{
"generator" :
{
"multiConfig" : false,
"name" : "Unix Makefiles"
},
"paths" :
{
"cmake" : "/Applications/CMake.app/Contents/bin/cmake",
"cpack" : "/Applications/CMake.app/Contents/bin/cpack",
"ctest" : "/Applications/CMake.app/Contents/bin/ctest",
"root" : "/Applications/CMake.app/Contents/share/cmake-3.26"
},
"version" :
{
"isDirty" : false,
"major" : 3,
"minor" : 26,
"patch" : 4,
"string" : "3.26.4",
"suffix" : ""
}
},
"objects" :
[
{
"jsonFile" : "codemodel-v2-c81e24288b1360bc0171.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 5
}
},
{
"jsonFile" : "cache-v2-38831495c4cd989b16ad.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-61b1eddbd26307a97341.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 0
}
},
{
"jsonFile" : "toolchains-v1-83a92ec2abe7967b6a58.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
}
],
"reply" :
{
"client-vscode" :
{
"query.json" :
{
"requests" :
[
{
"kind" : "cache",
"version" : 2
},
{
"kind" : "codemodel",
"version" : 2
},
{
"kind" : "toolchains",
"version" : 1
},
{
"kind" : "cmakeFiles",
"version" : 1
}
],
"responses" :
[
{
"jsonFile" : "cache-v2-38831495c4cd989b16ad.json",
"kind" : "cache",
"version" :
{
"major" : 2,
"minor" : 0
}
},
{
"jsonFile" : "codemodel-v2-c81e24288b1360bc0171.json",
"kind" : "codemodel",
"version" :
{
"major" : 2,
"minor" : 5
}
},
{
"jsonFile" : "toolchains-v1-83a92ec2abe7967b6a58.json",
"kind" : "toolchains",
"version" :
{
"major" : 1,
"minor" : 0
}
},
{
"jsonFile" : "cmakeFiles-v1-61b1eddbd26307a97341.json",
"kind" : "cmakeFiles",
"version" :
{
"major" : 1,
"minor" : 0
}
}
]
}
}
}
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/abstractFactory"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"abstractFactory/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "abstractFactory::@92237ee81df97d7656a2",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "abstractFactory",
"nameOnDisk" : "abstractFactory",
"paths" :
{
"build" : "abstractFactory",
"source" : "abstractFactory"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "abstractFactory/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/adapter"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"adapter/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "adapter::@7836dd37d6d479cf13f2",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "adapter",
"nameOnDisk" : "adapter",
"paths" :
{
"build" : "adapter",
"source" : "adapter"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "adapter/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/bridge"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"bridge/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "bridge::@5d86fe588f3a0996b685",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "bridge",
"nameOnDisk" : "bridge",
"paths" :
{
"build" : "bridge",
"source" : "bridge"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "bridge/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/builder"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"builder/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "builder::@57f5f9fdb86bdb0b3cc6",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "builder",
"nameOnDisk" : "builder",
"paths" :
{
"build" : "builder",
"source" : "builder"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "builder/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/chainOfResponsibility"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"chainOfResponsibility/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "chainOfResponsibility::@c57e1e58c4034ea49bad",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "chainOfResponsibility",
"nameOnDisk" : "chainOfResponsibility",
"paths" :
{
"build" : "chainOfResponsibility",
"source" : "chainOfResponsibility"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "chainOfResponsibility/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/clone"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"clone/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "clone::@6c2e44307f8d1dc9cf7f",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "clone",
"nameOnDisk" : "clone",
"paths" :
{
"build" : "clone",
"source" : "clone"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "clone/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/command"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"command/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "command::@ec3faa76f6536ff204f7",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "command",
"nameOnDisk" : "command",
"paths" :
{
"build" : "command",
"source" : "command"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "command/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/composite"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"composite/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "composite::@51cbb552efd36f6bef6e",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "composite",
"nameOnDisk" : "composite",
"paths" :
{
"build" : "composite",
"source" : "composite"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "composite/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/decorator"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"decorator/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "decorator::@68fc26dd27423b244659",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "decorator",
"nameOnDisk" : "decorator",
"paths" :
{
"build" : "decorator",
"source" : "decorator"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "decorator/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/facade"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"facade/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "facade::@d2a50f670da7414a1c4b",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "facade",
"nameOnDisk" : "facade",
"paths" :
{
"build" : "facade",
"source" : "facade"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "facade/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/factoryMethod"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"factoryMethod/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "factoryMethod::@8f561f0b17088acfc6e4",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "factoryMethod",
"nameOnDisk" : "factoryMethod",
"paths" :
{
"build" : "factoryMethod",
"source" : "factoryMethod"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "factoryMethod/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/flyWeight"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"flyweight/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "flyWeight::@b4c5663a18bf5668fc31",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "flyWeight",
"nameOnDisk" : "flyWeight",
"paths" :
{
"build" : "flyweight",
"source" : "flyweight"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "flyweight/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/interpreter"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"interpreter/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "interpreter::@53be9898ecdd411495e6",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "interpreter",
"nameOnDisk" : "interpreter",
"paths" :
{
"build" : "interpreter",
"source" : "interpreter"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "interpreter/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,107 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/iterator"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"iterator/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0,
1
]
}
],
"id" : "iterator::@29c4608fd8fff063f8ac",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "iterator",
"nameOnDisk" : "iterator",
"paths" :
{
"build" : "iterator",
"source" : "iterator"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "iterator/main.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "iterator/Iterator.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/mediator"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"mediator/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "mediator::@ad02dd5acc3bf0c2af65",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "mediator",
"nameOnDisk" : "mediator",
"paths" :
{
"build" : "mediator",
"source" : "mediator"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "mediator/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,107 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/memento"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"memento/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0,
1
]
}
],
"id" : "memento::@49f64ec5854b9325444e",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "memento",
"nameOnDisk" : "memento",
"paths" :
{
"build" : "memento",
"source" : "memento"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "memento/main.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "memento/Memento.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/observer"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"observer/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "observer::@1c94c88f6a36090536bd",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "observer",
"nameOnDisk" : "observer",
"paths" :
{
"build" : "observer",
"source" : "observer"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "observer/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/proxy"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"proxy/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "proxy::@154b2008a8c6b744f82a",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "proxy",
"nameOnDisk" : "proxy",
"paths" :
{
"build" : "proxy",
"source" : "proxy"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "proxy/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/simpleFactory"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"SimpleFactory/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "simpleFactory::@9dded28bbdbc4249a6d8",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "simpleFactory",
"nameOnDisk" : "simpleFactory",
"paths" :
{
"build" : "SimpleFactory",
"source" : "SimpleFactory"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "SimpleFactory/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/singleton"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"singleton/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "singleton::@bf0005027cf952625567",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "singleton",
"nameOnDisk" : "singleton",
"paths" :
{
"build" : "singleton",
"source" : "singleton"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "singleton/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,107 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/state"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"state/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0,
1
]
}
],
"id" : "state::@bd49b55f21b7dc8ed194",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "state",
"nameOnDisk" : "state",
"paths" :
{
"build" : "state",
"source" : "state"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "state/main.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "state/State.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/strategy"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"strategy/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "strategy::@241ee8dc02c6c148167d",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "strategy",
"nameOnDisk" : "strategy",
"paths" :
{
"build" : "strategy",
"source" : "strategy"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "strategy/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,99 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/template"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"template/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0
]
}
],
"id" : "template::@819783a551a942c93948",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "template",
"nameOnDisk" : "template",
"paths" :
{
"build" : "template",
"source" : "template"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "template/main.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,107 @@
{
"artifacts" :
[
{
"path" : "/Users/moye/code/Design/bin/Design/visitor"
}
],
"backtrace" : 1,
"backtraceGraph" :
{
"commands" :
[
"add_executable"
],
"files" :
[
"visitor/CMakeLists.txt"
],
"nodes" :
[
{
"file" : 0
},
{
"command" : 0,
"file" : 0,
"line" : 11,
"parent" : 0
}
]
},
"compileGroups" :
[
{
"compileCommandFragments" :
[
{
"fragment" : "-g -std=gnu++11 -arch arm64"
}
],
"language" : "CXX",
"languageStandard" :
{
"backtraces" :
[
1
],
"standard" : "11"
},
"sourceIndexes" :
[
0,
1
]
}
],
"id" : "visitor::@c0f9ad8a0077d2586eab",
"link" :
{
"commandFragments" :
[
{
"fragment" : "-g",
"role" : "flags"
},
{
"fragment" : "",
"role" : "flags"
}
],
"language" : "CXX"
},
"name" : "visitor",
"nameOnDisk" : "visitor",
"paths" :
{
"build" : "visitor",
"source" : "visitor"
},
"sourceGroups" :
[
{
"name" : "Source Files",
"sourceIndexes" :
[
0,
1
]
}
],
"sources" :
[
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "visitor/main.cpp",
"sourceGroupIndex" : 0
},
{
"backtrace" : 1,
"compileGroupIndex" : 0,
"path" : "visitor/Visitor.cpp",
"sourceGroupIndex" : 0
}
],
"type" : "EXECUTABLE"
}

View File

@ -0,0 +1,76 @@
{
"kind" : "toolchains",
"toolchains" :
[
{
"compiler" :
{
"id" : "AppleClang",
"implicit" :
{
"includeDirectories" :
[
"/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include",
"/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include",
"/Library/Developer/CommandLineTools/usr/include"
],
"linkDirectories" : [],
"linkFrameworkDirectories" : [],
"linkLibraries" : []
},
"path" : "/usr/bin/clang",
"version" : "15.0.0.15000040"
},
"language" : "C",
"sourceFileExtensions" :
[
"c",
"m"
]
},
{
"compiler" :
{
"id" : "AppleClang",
"implicit" :
{
"includeDirectories" :
[
"/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include/c++/v1",
"/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include",
"/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include",
"/Library/Developer/CommandLineTools/usr/include"
],
"linkDirectories" : [],
"linkFrameworkDirectories" : [],
"linkLibraries" :
[
"c++"
]
},
"path" : "/usr/bin/clang++",
"version" : "15.0.0.15000040"
},
"language" : "CXX",
"sourceFileExtensions" :
[
"C",
"M",
"c++",
"cc",
"cpp",
"cxx",
"mm",
"mpp",
"CPP",
"ixx",
"cppm"
]
}
],
"version" :
{
"major" : 1,
"minor" : 0
}
}

579
build/CMakeCache.txt Normal file
View File

@ -0,0 +1,579 @@
# This is the CMakeCache file.
# For build in directory: /Users/moye/code/Design/build
# It was generated by CMake: /Applications/CMake.app/Contents/bin/cmake
# You can edit this file to change values found and used by cmake.
# If you do not want to change any of the values, simply exit the editor.
# If you do want to change a value, simply edit, save, and exit the editor.
# The syntax for the file is as follows:
# KEY:TYPE=VALUE
# KEY is the name of a variable in the cache.
# TYPE is a hint to GUIs for the type of VALUE, DO NOT EDIT TYPE!.
# VALUE is the current value for the KEY.
########################
# EXTERNAL cache entries
########################
//Value Computed by CMake
AbstractFactory_BINARY_DIR:STATIC=/Users/moye/code/Design/build/abstractFactory
//Value Computed by CMake
AbstractFactory_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
AbstractFactory_SOURCE_DIR:STATIC=/Users/moye/code/Design/abstractFactory
//Value Computed by CMake
Adapter_BINARY_DIR:STATIC=/Users/moye/code/Design/build/adapter
//Value Computed by CMake
Adapter_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Adapter_SOURCE_DIR:STATIC=/Users/moye/code/Design/adapter
//Value Computed by CMake
Bridge_BINARY_DIR:STATIC=/Users/moye/code/Design/build/bridge
//Value Computed by CMake
Bridge_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Bridge_SOURCE_DIR:STATIC=/Users/moye/code/Design/bridge
//Value Computed by CMake
Builder_BINARY_DIR:STATIC=/Users/moye/code/Design/build/builder
//Value Computed by CMake
Builder_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Builder_SOURCE_DIR:STATIC=/Users/moye/code/Design/builder
//Path to a program.
CMAKE_ADDR2LINE:FILEPATH=CMAKE_ADDR2LINE-NOTFOUND
//Path to a program.
CMAKE_AR:FILEPATH=/usr/bin/ar
//No help, variable specified on the command line.
CMAKE_BUILD_TYPE:STRING=Debug
//Enable/Disable color output during build.
CMAKE_COLOR_MAKEFILE:BOOL=ON
//No help, variable specified on the command line.
CMAKE_CXX_COMPILER:FILEPATH=/usr/bin/clang++
//Flags used by the CXX compiler during all build types.
CMAKE_CXX_FLAGS:STRING=
//Flags used by the CXX compiler during DEBUG builds.
CMAKE_CXX_FLAGS_DEBUG:STRING=-g
//Flags used by the CXX compiler during MINSIZEREL builds.
CMAKE_CXX_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the CXX compiler during RELEASE builds.
CMAKE_CXX_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the CXX compiler during RELWITHDEBINFO builds.
CMAKE_CXX_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//No help, variable specified on the command line.
CMAKE_C_COMPILER:FILEPATH=/usr/bin/clang
//Flags used by the C compiler during all build types.
CMAKE_C_FLAGS:STRING=
//Flags used by the C compiler during DEBUG builds.
CMAKE_C_FLAGS_DEBUG:STRING=-g
//Flags used by the C compiler during MINSIZEREL builds.
CMAKE_C_FLAGS_MINSIZEREL:STRING=-Os -DNDEBUG
//Flags used by the C compiler during RELEASE builds.
CMAKE_C_FLAGS_RELEASE:STRING=-O3 -DNDEBUG
//Flags used by the C compiler during RELWITHDEBINFO builds.
CMAKE_C_FLAGS_RELWITHDEBINFO:STRING=-O2 -g -DNDEBUG
//Path to a program.
CMAKE_DLLTOOL:FILEPATH=CMAKE_DLLTOOL-NOTFOUND
//Flags used by the linker during all build types.
CMAKE_EXE_LINKER_FLAGS:STRING=
//Flags used by the linker during DEBUG builds.
CMAKE_EXE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during MINSIZEREL builds.
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during RELEASE builds.
CMAKE_EXE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during RELWITHDEBINFO builds.
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//No help, variable specified on the command line.
CMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE
//Value Computed by CMake.
CMAKE_FIND_PACKAGE_REDIRECTS_DIR:STATIC=/Users/moye/code/Design/build/CMakeFiles/pkgRedirects
//Path to a program.
CMAKE_INSTALL_NAME_TOOL:FILEPATH=/usr/bin/install_name_tool
//Install path prefix, prepended onto install directories.
CMAKE_INSTALL_PREFIX:PATH=/usr/local
//Path to a program.
CMAKE_LINKER:FILEPATH=/usr/bin/ld
//Path to a program.
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/make
//Flags used by the linker during the creation of modules during
// all build types.
CMAKE_MODULE_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of modules during
// DEBUG builds.
CMAKE_MODULE_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of modules during
// MINSIZEREL builds.
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of modules during
// RELEASE builds.
CMAKE_MODULE_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of modules during
// RELWITHDEBINFO builds.
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_NM:FILEPATH=/usr/bin/nm
//Path to a program.
CMAKE_OBJCOPY:FILEPATH=CMAKE_OBJCOPY-NOTFOUND
//Path to a program.
CMAKE_OBJDUMP:FILEPATH=/usr/bin/objdump
//Build architectures for OSX
CMAKE_OSX_ARCHITECTURES:STRING=
//Minimum OS X version to target for deployment (at runtime); newer
// APIs weak linked. Set to empty string for default value.
CMAKE_OSX_DEPLOYMENT_TARGET:STRING=
//The product will be built against the headers and libraries located
// inside the indicated SDK.
CMAKE_OSX_SYSROOT:PATH=/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk
//Value Computed by CMake
CMAKE_PROJECT_DESCRIPTION:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_HOMEPAGE_URL:STATIC=
//Value Computed by CMake
CMAKE_PROJECT_NAME:STATIC=cplusplus_design_pattern
//Path to a program.
CMAKE_RANLIB:FILEPATH=/usr/bin/ranlib
//Path to a program.
CMAKE_READELF:FILEPATH=CMAKE_READELF-NOTFOUND
//Flags used by the linker during the creation of shared libraries
// during all build types.
CMAKE_SHARED_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of shared libraries
// during DEBUG builds.
CMAKE_SHARED_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of shared libraries
// during MINSIZEREL builds.
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of shared libraries
// during RELEASE builds.
CMAKE_SHARED_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of shared libraries
// during RELWITHDEBINFO builds.
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//If set, runtime paths are not added when installing shared libraries,
// but are added when building.
CMAKE_SKIP_INSTALL_RPATH:BOOL=NO
//If set, runtime paths are not added when using shared libraries.
CMAKE_SKIP_RPATH:BOOL=NO
//Flags used by the linker during the creation of static libraries
// during all build types.
CMAKE_STATIC_LINKER_FLAGS:STRING=
//Flags used by the linker during the creation of static libraries
// during DEBUG builds.
CMAKE_STATIC_LINKER_FLAGS_DEBUG:STRING=
//Flags used by the linker during the creation of static libraries
// during MINSIZEREL builds.
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL:STRING=
//Flags used by the linker during the creation of static libraries
// during RELEASE builds.
CMAKE_STATIC_LINKER_FLAGS_RELEASE:STRING=
//Flags used by the linker during the creation of static libraries
// during RELWITHDEBINFO builds.
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO:STRING=
//Path to a program.
CMAKE_STRIP:FILEPATH=/usr/bin/strip
//If this value is on, makefiles will be generated without the
// .SILENT directive, and all commands will be echoed to the console
// during the make. This is useful for debugging only. With Visual
// Studio IDE projects all commands are done without /nologo.
CMAKE_VERBOSE_MAKEFILE:BOOL=FALSE
//Value Computed by CMake
ChainOfResponsibility_BINARY_DIR:STATIC=/Users/moye/code/Design/build/chainOfResponsibility
//Value Computed by CMake
ChainOfResponsibility_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
ChainOfResponsibility_SOURCE_DIR:STATIC=/Users/moye/code/Design/chainOfResponsibility
//Value Computed by CMake
Clone_BINARY_DIR:STATIC=/Users/moye/code/Design/build/clone
//Value Computed by CMake
Clone_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Clone_SOURCE_DIR:STATIC=/Users/moye/code/Design/clone
//Value Computed by CMake
Command_BINARY_DIR:STATIC=/Users/moye/code/Design/build/command
//Value Computed by CMake
Command_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Command_SOURCE_DIR:STATIC=/Users/moye/code/Design/command
//Value Computed by CMake
Composite_BINARY_DIR:STATIC=/Users/moye/code/Design/build/composite
//Value Computed by CMake
Composite_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Composite_SOURCE_DIR:STATIC=/Users/moye/code/Design/composite
//Value Computed by CMake
Decorator_BINARY_DIR:STATIC=/Users/moye/code/Design/build/decorator
//Value Computed by CMake
Decorator_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Decorator_SOURCE_DIR:STATIC=/Users/moye/code/Design/decorator
//Value Computed by CMake
Facade_BINARY_DIR:STATIC=/Users/moye/code/Design/build/facade
//Value Computed by CMake
Facade_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Facade_SOURCE_DIR:STATIC=/Users/moye/code/Design/facade
//Value Computed by CMake
FactoryMethod_BINARY_DIR:STATIC=/Users/moye/code/Design/build/factoryMethod
//Value Computed by CMake
FactoryMethod_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
FactoryMethod_SOURCE_DIR:STATIC=/Users/moye/code/Design/factoryMethod
//Value Computed by CMake
Interpreter_BINARY_DIR:STATIC=/Users/moye/code/Design/build/interpreter
//Value Computed by CMake
Interpreter_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Interpreter_SOURCE_DIR:STATIC=/Users/moye/code/Design/interpreter
//Value Computed by CMake
Iterator_BINARY_DIR:STATIC=/Users/moye/code/Design/build/iterator
//Value Computed by CMake
Iterator_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Iterator_SOURCE_DIR:STATIC=/Users/moye/code/Design/iterator
//Value Computed by CMake
Mediator_BINARY_DIR:STATIC=/Users/moye/code/Design/build/mediator
//Value Computed by CMake
Mediator_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Mediator_SOURCE_DIR:STATIC=/Users/moye/code/Design/mediator
//Value Computed by CMake
Memento_BINARY_DIR:STATIC=/Users/moye/code/Design/build/memento
//Value Computed by CMake
Memento_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Memento_SOURCE_DIR:STATIC=/Users/moye/code/Design/memento
//Value Computed by CMake
Observer_BINARY_DIR:STATIC=/Users/moye/code/Design/build/observer
//Value Computed by CMake
Observer_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Observer_SOURCE_DIR:STATIC=/Users/moye/code/Design/observer
//Value Computed by CMake
Proxy_BINARY_DIR:STATIC=/Users/moye/code/Design/build/proxy
//Value Computed by CMake
Proxy_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Proxy_SOURCE_DIR:STATIC=/Users/moye/code/Design/proxy
//Value Computed by CMake
SimpleFactory_BINARY_DIR:STATIC=/Users/moye/code/Design/build/SimpleFactory
//Value Computed by CMake
SimpleFactory_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
SimpleFactory_SOURCE_DIR:STATIC=/Users/moye/code/Design/SimpleFactory
//Value Computed by CMake
Singleton_BINARY_DIR:STATIC=/Users/moye/code/Design/build/singleton
//Value Computed by CMake
Singleton_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Singleton_SOURCE_DIR:STATIC=/Users/moye/code/Design/singleton
//Value Computed by CMake
State_BINARY_DIR:STATIC=/Users/moye/code/Design/build/state
//Value Computed by CMake
State_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
State_SOURCE_DIR:STATIC=/Users/moye/code/Design/state
//Value Computed by CMake
Strategy_BINARY_DIR:STATIC=/Users/moye/code/Design/build/strategy
//Value Computed by CMake
Strategy_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Strategy_SOURCE_DIR:STATIC=/Users/moye/code/Design/strategy
//Value Computed by CMake
Template_BINARY_DIR:STATIC=/Users/moye/code/Design/build/template
//Value Computed by CMake
Template_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Template_SOURCE_DIR:STATIC=/Users/moye/code/Design/template
//Value Computed by CMake
Visitor_BINARY_DIR:STATIC=/Users/moye/code/Design/build/visitor
//Value Computed by CMake
Visitor_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
Visitor_SOURCE_DIR:STATIC=/Users/moye/code/Design/visitor
//Value Computed by CMake
cplusplus_design_pattern_BINARY_DIR:STATIC=/Users/moye/code/Design/build
//Value Computed by CMake
cplusplus_design_pattern_IS_TOP_LEVEL:STATIC=ON
//Value Computed by CMake
cplusplus_design_pattern_SOURCE_DIR:STATIC=/Users/moye/code/Design
//Value Computed by CMake
flyWeight_BINARY_DIR:STATIC=/Users/moye/code/Design/build/flyweight
//Value Computed by CMake
flyWeight_IS_TOP_LEVEL:STATIC=OFF
//Value Computed by CMake
flyWeight_SOURCE_DIR:STATIC=/Users/moye/code/Design/flyweight
########################
# INTERNAL cache entries
########################
//ADVANCED property for variable: CMAKE_ADDR2LINE
CMAKE_ADDR2LINE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_AR
CMAKE_AR-ADVANCED:INTERNAL=1
//This is the directory where this CMakeCache.txt was created
CMAKE_CACHEFILE_DIR:INTERNAL=/Users/moye/code/Design/build
//Major version of cmake used to create the current loaded cache
CMAKE_CACHE_MAJOR_VERSION:INTERNAL=3
//Minor version of cmake used to create the current loaded cache
CMAKE_CACHE_MINOR_VERSION:INTERNAL=26
//Patch version of cmake used to create the current loaded cache
CMAKE_CACHE_PATCH_VERSION:INTERNAL=4
//ADVANCED property for variable: CMAKE_COLOR_MAKEFILE
CMAKE_COLOR_MAKEFILE-ADVANCED:INTERNAL=1
//Path to CMake executable.
CMAKE_COMMAND:INTERNAL=/Applications/CMake.app/Contents/bin/cmake
//Path to cpack program executable.
CMAKE_CPACK_COMMAND:INTERNAL=/Applications/CMake.app/Contents/bin/cpack
//Path to ctest program executable.
CMAKE_CTEST_COMMAND:INTERNAL=/Applications/CMake.app/Contents/bin/ctest
//ADVANCED property for variable: CMAKE_CXX_COMPILER
CMAKE_CXX_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS
CMAKE_CXX_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_DEBUG
CMAKE_CXX_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_MINSIZEREL
CMAKE_CXX_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELEASE
CMAKE_CXX_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_CXX_FLAGS_RELWITHDEBINFO
CMAKE_CXX_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_COMPILER
CMAKE_C_COMPILER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS
CMAKE_C_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_DEBUG
CMAKE_C_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_MINSIZEREL
CMAKE_C_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELEASE
CMAKE_C_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_C_FLAGS_RELWITHDEBINFO
CMAKE_C_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_DLLTOOL
CMAKE_DLLTOOL-ADVANCED:INTERNAL=1
//Path to cache edit program executable.
CMAKE_EDIT_COMMAND:INTERNAL=/Applications/CMake.app/Contents/bin/ccmake
//Executable file format
CMAKE_EXECUTABLE_FORMAT:INTERNAL=MACHO
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS
CMAKE_EXE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_DEBUG
CMAKE_EXE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_MINSIZEREL
CMAKE_EXE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELEASE
CMAKE_EXE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_EXPORT_COMPILE_COMMANDS
CMAKE_EXPORT_COMPILE_COMMANDS-ADVANCED:INTERNAL=1
//Name of external makefile project generator.
CMAKE_EXTRA_GENERATOR:INTERNAL=
//Name of generator.
CMAKE_GENERATOR:INTERNAL=Unix Makefiles
//Generator instance identifier.
CMAKE_GENERATOR_INSTANCE:INTERNAL=
//Name of generator platform.
CMAKE_GENERATOR_PLATFORM:INTERNAL=
//Name of generator toolset.
CMAKE_GENERATOR_TOOLSET:INTERNAL=
//Source directory with the top level CMakeLists.txt file for this
// project
CMAKE_HOME_DIRECTORY:INTERNAL=/Users/moye/code/design
//ADVANCED property for variable: CMAKE_INSTALL_NAME_TOOL
CMAKE_INSTALL_NAME_TOOL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_LINKER
CMAKE_LINKER-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MAKE_PROGRAM
CMAKE_MAKE_PROGRAM-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS
CMAKE_MODULE_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_DEBUG
CMAKE_MODULE_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL
CMAKE_MODULE_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELEASE
CMAKE_MODULE_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_NM
CMAKE_NM-ADVANCED:INTERNAL=1
//number of local generators
CMAKE_NUMBER_OF_MAKEFILES:INTERNAL=25
//ADVANCED property for variable: CMAKE_OBJCOPY
CMAKE_OBJCOPY-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_OBJDUMP
CMAKE_OBJDUMP-ADVANCED:INTERNAL=1
//Platform information initialized
CMAKE_PLATFORM_INFO_INITIALIZED:INTERNAL=1
//ADVANCED property for variable: CMAKE_RANLIB
CMAKE_RANLIB-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_READELF
CMAKE_READELF-ADVANCED:INTERNAL=1
//Path to CMake installation.
CMAKE_ROOT:INTERNAL=/Applications/CMake.app/Contents/share/cmake-3.26
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS
CMAKE_SHARED_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_DEBUG
CMAKE_SHARED_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL
CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELEASE
CMAKE_SHARED_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_INSTALL_RPATH
CMAKE_SKIP_INSTALL_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_SKIP_RPATH
CMAKE_SKIP_RPATH-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS
CMAKE_STATIC_LINKER_FLAGS-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_DEBUG
CMAKE_STATIC_LINKER_FLAGS_DEBUG-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL
CMAKE_STATIC_LINKER_FLAGS_MINSIZEREL-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELEASE
CMAKE_STATIC_LINKER_FLAGS_RELEASE-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO
CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO-ADVANCED:INTERNAL=1
//ADVANCED property for variable: CMAKE_STRIP
CMAKE_STRIP-ADVANCED:INTERNAL=1
//uname command
CMAKE_UNAME:INTERNAL=/usr/bin/uname
//ADVANCED property for variable: CMAKE_VERBOSE_MAKEFILE
CMAKE_VERBOSE_MAKEFILE-ADVANCED:INTERNAL=1

View File

@ -0,0 +1,72 @@
set(CMAKE_C_COMPILER "/usr/bin/clang")
set(CMAKE_C_COMPILER_ARG1 "")
set(CMAKE_C_COMPILER_ID "AppleClang")
set(CMAKE_C_COMPILER_VERSION "15.0.0.15000040")
set(CMAKE_C_COMPILER_VERSION_INTERNAL "")
set(CMAKE_C_COMPILER_WRAPPER "")
set(CMAKE_C_STANDARD_COMPUTED_DEFAULT "17")
set(CMAKE_C_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_C_COMPILE_FEATURES "c_std_90;c_function_prototypes;c_std_99;c_restrict;c_variadic_macros;c_std_11;c_static_assert;c_std_17;c_std_23")
set(CMAKE_C90_COMPILE_FEATURES "c_std_90;c_function_prototypes")
set(CMAKE_C99_COMPILE_FEATURES "c_std_99;c_restrict;c_variadic_macros")
set(CMAKE_C11_COMPILE_FEATURES "c_std_11;c_static_assert")
set(CMAKE_C17_COMPILE_FEATURES "c_std_17")
set(CMAKE_C23_COMPILE_FEATURES "c_std_23")
set(CMAKE_C_PLATFORM_ID "Darwin")
set(CMAKE_C_SIMULATE_ID "")
set(CMAKE_C_COMPILER_FRONTEND_VARIANT "GNU")
set(CMAKE_C_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_C_COMPILER_AR "")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_C_COMPILER_RANLIB "")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCC )
set(CMAKE_C_COMPILER_LOADED 1)
set(CMAKE_C_COMPILER_WORKS TRUE)
set(CMAKE_C_ABI_COMPILED TRUE)
set(CMAKE_C_COMPILER_ENV_VAR "CC")
set(CMAKE_C_COMPILER_ID_RUN 1)
set(CMAKE_C_SOURCE_FILE_EXTENSIONS c;m)
set(CMAKE_C_IGNORE_EXTENSIONS h;H;o;O;obj;OBJ;def;DEF;rc;RC)
set(CMAKE_C_LINKER_PREFERENCE 10)
# Save compiler ABI information.
set(CMAKE_C_SIZEOF_DATA_PTR "8")
set(CMAKE_C_COMPILER_ABI "")
set(CMAKE_C_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_C_LIBRARY_ARCHITECTURE "")
if(CMAKE_C_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_C_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_C_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_C_COMPILER_ABI}")
endif()
if(CMAKE_C_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_C_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_C_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_C_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_C_IMPLICIT_INCLUDE_DIRECTORIES "/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include;/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include;/Library/Developer/CommandLineTools/usr/include")
set(CMAKE_C_IMPLICIT_LINK_LIBRARIES "")
set(CMAKE_C_IMPLICIT_LINK_DIRECTORIES "")
set(CMAKE_C_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

View File

@ -0,0 +1,83 @@
set(CMAKE_CXX_COMPILER "/usr/bin/clang++")
set(CMAKE_CXX_COMPILER_ARG1 "")
set(CMAKE_CXX_COMPILER_ID "AppleClang")
set(CMAKE_CXX_COMPILER_VERSION "15.0.0.15000040")
set(CMAKE_CXX_COMPILER_VERSION_INTERNAL "")
set(CMAKE_CXX_COMPILER_WRAPPER "")
set(CMAKE_CXX_STANDARD_COMPUTED_DEFAULT "98")
set(CMAKE_CXX_EXTENSIONS_COMPUTED_DEFAULT "ON")
set(CMAKE_CXX_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters;cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates;cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates;cxx_std_17;cxx_std_20;cxx_std_23")
set(CMAKE_CXX98_COMPILE_FEATURES "cxx_std_98;cxx_template_template_parameters")
set(CMAKE_CXX11_COMPILE_FEATURES "cxx_std_11;cxx_alias_templates;cxx_alignas;cxx_alignof;cxx_attributes;cxx_auto_type;cxx_constexpr;cxx_decltype;cxx_decltype_incomplete_return_types;cxx_default_function_template_args;cxx_defaulted_functions;cxx_defaulted_move_initializers;cxx_delegating_constructors;cxx_deleted_functions;cxx_enum_forward_declarations;cxx_explicit_conversions;cxx_extended_friend_declarations;cxx_extern_templates;cxx_final;cxx_func_identifier;cxx_generalized_initializers;cxx_inheriting_constructors;cxx_inline_namespaces;cxx_lambdas;cxx_local_type_template_args;cxx_long_long_type;cxx_noexcept;cxx_nonstatic_member_init;cxx_nullptr;cxx_override;cxx_range_for;cxx_raw_string_literals;cxx_reference_qualified_functions;cxx_right_angle_brackets;cxx_rvalue_references;cxx_sizeof_member;cxx_static_assert;cxx_strong_enums;cxx_thread_local;cxx_trailing_return_types;cxx_unicode_literals;cxx_uniform_initialization;cxx_unrestricted_unions;cxx_user_literals;cxx_variadic_macros;cxx_variadic_templates")
set(CMAKE_CXX14_COMPILE_FEATURES "cxx_std_14;cxx_aggregate_default_initializers;cxx_attribute_deprecated;cxx_binary_literals;cxx_contextual_conversions;cxx_decltype_auto;cxx_digit_separators;cxx_generic_lambdas;cxx_lambda_init_captures;cxx_relaxed_constexpr;cxx_return_type_deduction;cxx_variable_templates")
set(CMAKE_CXX17_COMPILE_FEATURES "cxx_std_17")
set(CMAKE_CXX20_COMPILE_FEATURES "cxx_std_20")
set(CMAKE_CXX23_COMPILE_FEATURES "cxx_std_23")
set(CMAKE_CXX_PLATFORM_ID "Darwin")
set(CMAKE_CXX_SIMULATE_ID "")
set(CMAKE_CXX_COMPILER_FRONTEND_VARIANT "GNU")
set(CMAKE_CXX_SIMULATE_VERSION "")
set(CMAKE_AR "/usr/bin/ar")
set(CMAKE_CXX_COMPILER_AR "")
set(CMAKE_RANLIB "/usr/bin/ranlib")
set(CMAKE_CXX_COMPILER_RANLIB "")
set(CMAKE_LINKER "/usr/bin/ld")
set(CMAKE_MT "")
set(CMAKE_COMPILER_IS_GNUCXX )
set(CMAKE_CXX_COMPILER_LOADED 1)
set(CMAKE_CXX_COMPILER_WORKS TRUE)
set(CMAKE_CXX_ABI_COMPILED TRUE)
set(CMAKE_CXX_COMPILER_ENV_VAR "CXX")
set(CMAKE_CXX_COMPILER_ID_RUN 1)
set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS C;M;c++;cc;cpp;cxx;m;mm;mpp;CPP;ixx;cppm)
set(CMAKE_CXX_IGNORE_EXTENSIONS inl;h;hpp;HPP;H;o;O;obj;OBJ;def;DEF;rc;RC)
foreach (lang C OBJC OBJCXX)
if (CMAKE_${lang}_COMPILER_ID_RUN)
foreach(extension IN LISTS CMAKE_${lang}_SOURCE_FILE_EXTENSIONS)
list(REMOVE_ITEM CMAKE_CXX_SOURCE_FILE_EXTENSIONS ${extension})
endforeach()
endif()
endforeach()
set(CMAKE_CXX_LINKER_PREFERENCE 30)
set(CMAKE_CXX_LINKER_PREFERENCE_PROPAGATES 1)
# Save compiler ABI information.
set(CMAKE_CXX_SIZEOF_DATA_PTR "8")
set(CMAKE_CXX_COMPILER_ABI "")
set(CMAKE_CXX_BYTE_ORDER "LITTLE_ENDIAN")
set(CMAKE_CXX_LIBRARY_ARCHITECTURE "")
if(CMAKE_CXX_SIZEOF_DATA_PTR)
set(CMAKE_SIZEOF_VOID_P "${CMAKE_CXX_SIZEOF_DATA_PTR}")
endif()
if(CMAKE_CXX_COMPILER_ABI)
set(CMAKE_INTERNAL_PLATFORM_ABI "${CMAKE_CXX_COMPILER_ABI}")
endif()
if(CMAKE_CXX_LIBRARY_ARCHITECTURE)
set(CMAKE_LIBRARY_ARCHITECTURE "")
endif()
set(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX "")
if(CMAKE_CXX_CL_SHOWINCLUDES_PREFIX)
set(CMAKE_CL_SHOWINCLUDES_PREFIX "${CMAKE_CXX_CL_SHOWINCLUDES_PREFIX}")
endif()
set(CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES "/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include/c++/v1;/Library/Developer/CommandLineTools/usr/lib/clang/15.0.0/include;/Library/Developer/CommandLineTools/SDKs/MacOSX14.0.sdk/usr/include;/Library/Developer/CommandLineTools/usr/include")
set(CMAKE_CXX_IMPLICIT_LINK_LIBRARIES "c++")
set(CMAKE_CXX_IMPLICIT_LINK_DIRECTORIES "")
set(CMAKE_CXX_IMPLICIT_LINK_FRAMEWORK_DIRECTORIES "")

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,15 @@
set(CMAKE_HOST_SYSTEM "Darwin-23.1.0")
set(CMAKE_HOST_SYSTEM_NAME "Darwin")
set(CMAKE_HOST_SYSTEM_VERSION "23.1.0")
set(CMAKE_HOST_SYSTEM_PROCESSOR "arm64")
set(CMAKE_SYSTEM "Darwin-23.1.0")
set(CMAKE_SYSTEM_NAME "Darwin")
set(CMAKE_SYSTEM_VERSION "23.1.0")
set(CMAKE_SYSTEM_PROCESSOR "arm64")
set(CMAKE_CROSSCOMPILING "FALSE")
set(CMAKE_SYSTEM_LOADED 1)

Some files were not shown because too many files have changed in this diff Show More