바이너리 호환성 향상을 위한 ExternalApi 클래스 수정

1. ExternalApi 클래스를 ExternalApiImpl로 수정
2. 바이너리 호환성을 갖는 ExternalApi 구조체 생성
ExternalApi의 함수포인터 정의가 잘못된 점 수정

1. ExternalApi의 함수포인터 정의가 잘못된 점 수정
Uuid 비교 연상 추가

1. Uuid 비교 연상 추가
ExternalApi의 함수포인터 정의가 잘못된 점 수정

1. ExternalApi의 함수포인터 들의 첫번째 파라미터의 타입이 포인터 타입으로 변경
Uuid 비교 연산 효율을 올림

1. Uuid 비교 연산 효율을 올림
Uuid 구현 변경

1. Uuid에서 UUID 정보를 담는 방식 변경
2. Uuid 생성 메소드인 Generate() 추가
3. Uuid 비교 연산자 변경
ExternalApiImplHelper 구현

1. ExternalApi 를 C++ 레벨에서 구현하기 쉽도록 도와주는 ExternalApiImplHelper 구현
함수 호출 규약 및 외부 공개용 매크로 등록

1. 함수 호출 규약정의를 위한 EAPI_CALL 정의
2. 동적 라이브러리의 외부 공개를 위한 EAPI_EXPORT 정의
외부 공개 함수에 대해서 EAPI_CALL 호출 규약 적용

1. 외부로 공개되는 함수에 대해서 EAPI_CALL 호출 규약을 적용함
GetExternalApi(), ReleaseExternalApi() 프로토타입 등록

1. GetExternalApi(), ReleaseExternalApi() 프로토타입 등록
ExternalApiImplHelper의 Call() 파라미터 타입 변경

1. ExternalApiImplHelper의 Call() 파라미터인 inputs를 레퍼런스 타입으로 변경
GetExternalApi(), ReleaseExternalApi() 호출 규약 표현 추가

1. GetExternalApi(), ReleaseExternalApi() 호출 규약 표현 추가
동적 라이브러리간 교환 가능하도록 Array 수정

1. 기존 Array의 이름을 LegacyArray로 변경
2. 동적 라이브러리간 교환 가능한 Array 재정의
3. Array를 손쉽게 생성하기 위한 ArrayImpl 작성
ArrayImpl 생성자 파라미터 타입 오타 수정

1. Array타입을 입력받는 ArrayImpl 생성자에서 Array타입의 템플릿 파라미터가 입력되지 않은 문제 수정
ArrayImpl 생성 관련 버그 수정

1. ArrayImpl 생성자에서 Array를 받는 생성자가 const처리 문제로 인한 컴파일 에러 수정
2. ArrayImpl의 Initialize()에서 uuid를 생성하지 못하는 문제 해결
동적 라이브러리간 교환 가능한 String 작성

1. 동적 라이브러리간 교환 가능한 String 작성
2. String을 손쉽게 생성하기 위한 StringImpl 작성
동적 라이브러리 관련 정의 정리

1. 동적 라이브러리 생성 관련 정의(호출 규약, 외부 공개)를 ExternalApi.h 에서 LibraryDefine.h로 분리
Uuid 별도의 헤더로 분리

1. Uuid를 ExternalApi.h 에서 Uuid.h로 분리
ErrorCode 정의 별도의 헤더로 분리

1. ErrorCode 정의를  ExternalApi.h에서 ErrorCode.h로 분리
Uuid 네임 스페이스 누락 수정

1. Uuid의 네임스페이스가 빠져있던 점 수정