Sign In Start Free Trial
Account

Add to playlist

Create a Playlist

Modal Close icon
You need to login to use this feature.
  • Book Overview & Buying DART Essentials
  • Table Of Contents Toc
  • Feedback & Rating feedback
DART Essentials

DART Essentials

By : Sikora
4.8 (4)
close
close
DART Essentials

DART Essentials

4.8 (4)
By: Sikora

Overview of this book

This book is targeted at expert programmers in JavaScript who want to learn Dart quickly. Some previous experience with OOP programming in other languages and a good knowledge of JavaScript are assumed.
Table of Contents (11 chapters)
close
close
10
Index

Writing a native fuzzy search implementation


This is where things start to get interesting. When working with existing C++ code, you'll probably want to work with multiple instances of the same class, but we can't just instantiate a C++ class in Dart. Instead, we'll crate a wrapper class in Dart that stores the memory address of the C++ object. Let's start by creating a C++ class with a native fuzzy search implementation:

// fuzzy_search.hpp
class FuzzySearch {
public:
    FuzzySearch(Dart_Handle inputItems);
    std::vector<char*> search(const char* term);
    size_t size();
private:
    char** items;
    size_t length
};

This is our header file. Header files in C/C++ are commonly used to define interfaces of libraries. In practice, we can use functions and data structures without worrying about their implementation. Previously, we used dart_api.h, which defines, for example, Dart_Handle or Dart_SetReturnValue():

// fuzzy_search.cpp
#include <vector>
#include "fuzzy_search.hpp...

Unlock full access

Continue reading for free

A Packt free trial gives you instant online access to our library of over 7000 practical eBooks and videos, constantly updated with the latest in tech

Create a Note

Modal Close icon
You need to login to use this feature.
notes
bookmark search playlist font-size

Change the font size

margin-width

Change margin width

day-mode

Change background colour

Close icon Search
Country selected

Close icon Your notes and bookmarks

Delete Bookmark

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Delete Note

Modal Close icon
Are you sure you want to delete it?
Cancel
Yes, Delete

Confirmation

Modal Close icon
claim successful

Buy this book with your credits?

Modal Close icon
Are you sure you want to buy this book with one of your credits?
Close
YES, BUY