[C++] BLC(BLack Cat) 라이브러리
사실 라이브러리라고 거창하게 써 놨지만, 그냥 제가 연습삼아 짠 코드들을 모아둔 것입니다.
그래도 나름 쓸모있게(?) 만드려고 노력했으니 혹시나 관심있으시면 한번 봐주시고, 비난이 아닌 비판은 언제든지 환영합니다.
연습삼아 짠 코드들을 모아둔 것이므로 차후에 다른 요소가 추가될 수 있습니다.
라이브러리 이름은 저희집 올블랙 고양이 흑이의 이름에서 따 왔습니다.
제가 영어를 읽을수는 있지만 작문이 서툴러서 주석은 한글로 달았습니다.
BLC 라이브러리는 오픈소스로 모든 소스코드가 공개됩니다.
※ BLC 라이브러리 다운로드
최종수정: 2022년 11월 18일
오픈소스명: BLC
라이선스 종류: MIT License
라이선스 공식 문서:
- Copyright © 2021 Jaewan An <ajw9105@hanmail.net>
-
- Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
BLC 라이브러리의 구현에는,
C++17을 사용하도록 수정된 Loki 라이브러리약간 수정된 Loki 라이브러리가
일부 사용되었습니다.
※ Loki 라이브러리 라이선스: MIT License
다음은 BLC 라이브러리의 구성요소들에 대한 설명입니다. 헤더 파일 기준으로 나눴습니다.
-
blc/bimap/blc_bidirectional_map.h
C++ 양방향 맵 라이브러리
[모든 버전]
-
blc/bit/blc_bit.h
C++ 비트 도구 라이브러리
[모든 버전]
-
blc/console/blc_conio.h
C++ 윈도우 콘솔 라이브러리
이 헤더는 <Windows.h> 헤더를 포함합니다(윈도우 환경에서만 사용 가능).
[2022/11/18 및 이후 버전]
[2022/07/09 및 이전 버전]
-
blc/han/blc_hangul.h
C++ 한글 라이브러리
[2022/11/18 및 이후 버전]
[2022/07/09 및 이전 버전]
-
blc/han/blc_hangul_normalize.h
C++ 한글 라이브러리
[2022/11/18 및 이후 버전]
[2022/07/09 및 이전 버전]
-
blc/test/blc_test.h
C++ 유닛 테스트 라이브러리
[2022/11/18 및 이후 버전]
[2022/07/09 및 이전 버전]
-
blc/ustr/blc_mchar.h
C++ 멀티바이트 문자 라이브러리
[2022/11/18 및 이후 버전]
[2022/07/09 및 이전 버전]
예제로 만든 CP949 인코딩 타입을 포함시켜 두었습니다. 유니코드와 CP949 맵핑 데이터를 모두 소스코드 파일에 집어넣어 만들었으므로, 실사용시 문제가 될 수 있습니다.
문제가 되는 경우, 아래의 세 파일을 프로젝트에서 제외하고 사용해 주세요.
-
blc/ustr/encoding/blc_cp949_t.h
-
blc/ustr/encoding/blc_cp949_table.h
-
blc/ustr/encoding/blc_cp949_table.cpp
-
blc/ustr/blc_ustring.h
C++ 문자열 라이브러리
[2022/11/18 및 이후 버전]
[2022/07/09 및 이전 버전]
-
blc/blc_memory.h
C++ 메모리 보조 도구 라이브러리
[모든 버전]
※ 예제 목록([n]표시는 예제에 사용된 요소를 포함한 헤더를 의미합니다. [n]표시는 해당 번호의 헤더를 확장하는 방법에 대한 예제입니다)
다음 예제들은 항상 최신버전 기준으로 작성됩니다.
-
[3]콘솔에서 기존의 문자열 수정하기
-
[3]콘솔에서 숫자로만 이루어진 비밀번호 입력받기
-
[3][4][7][8]초성체 생성기
-
[3][4]ㅇ을 ㅁ으로 변경하기
-
[4][5]MacOS 한글 자음, 모음이 분리된 파일이름 고치기
-
[3][4][5]안드로어 번역기
-
[3][8]인코딩 변환기
-
[3][4][5][7][8]타이핑 효과내며 출력하기
-
[3][8]전광판(흘러가는 문자열) 효과내며 출력하기
-
[3][8]다른 문자열 타입으로 변환하기
-
[7][8]"blc_mchar.h" 및 "blc_ustring.h"에서 사용 가능한 인코딩 추가하기
-
[1][2][3]BASE64 인코더와 디코더